一、使用pymysql时,必须加这两行(#如果使用mysql的数据库,请进行伪装 pymysql伪装为MySQLdb)

import pymysql
pymysql.install_as_MySQLdb() #如果使用mysql的数据库,请进行伪装 pymysql伪装为MySQLdb

二、编辑数据库内容 (路径:/学习/接口自动化/mjz/user/models.py)

from django.db import models

# Create your models here.

class Category(models.Model):
name=models.CharField(verbose_name="分类名",max_length=50,unique=True)
create_time=models.DateTimeField(verbose_name="创建时间",auto_now_add=True)
update_time=models.DateTimeField(verbose_name="更新时间",auto_now=True)
is_delete=models.BooleanField(verbose_name="删除",default=False) class Meta:
db_table = 'category' #
ordering = ['create_time']
verbose_name="文章分类"
verbose_name_plural=verbose_name def __str__(self):
return self.name class Article(models.Model):
title = models.CharField(verbose_name='文章标题',max_length=100,db_index=True)
desc = models.CharField(verbose_name='描述',max_length=100,blank=True,null=True,default='这个文章没有描述')
content = models.TextField(verbose_name='文章内容')
img = models.ImageField(verbose_name='文章图片',upload_to='article_img',default='images/1.jpg') #需要pip install pillow
recommend = models.BooleanField(verbose_name='是否推荐',default=False)
category = models.ForeignKey(Category,verbose_name='分类',on_delete=models.DO_NOTHING,
db_constraint=False)
create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)
update_time = models.DateTimeField(verbose_name='修改时间', auto_now=True)
is_delete = models.BooleanField(verbose_name='是否删除', default=False) #models.CASCADE#guanl cascade
# db_constraint 不会真正在数据库里面建立外键
class Meta: #首页 5
db_table = 'article' #
ordering = ['create_time']
verbose_name = '文章'
verbose_name_plural = verbose_name def __str__(self):
return self.title 三.执行数据库,创建表
python manage.py makemigrations
python manage.py migrate 四、后台管理
1、(创建后端管理员)
python manage.py createsuperuser 创建用户名字 密码和邮箱
2、在admin导入数据表:(/学习/接口自动化/mjz/user/admin.py)
from django.contrib import admin

# Register your models here.

from . import models

admin.site.register(models.Category)
admin.site.register(models.Article)
3、url配置(/学习/接口自动化/mjz/mjz/urls.py)
from django.contrib import admin
from django.urls import path
from user.views import index urlpatterns = [
path('admin/', admin.site.urls),
path('index/', index),
]

最新文章

  1. sql union和union all的用法及效率
  2. UML常用图
  3. python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作
  4. 【bzoj1502】 NOI2005—月下柠檬树
  5. 翻译 - NodeJS错误处理最佳实践
  6. ChannelFactory.Endpoint 上的地址属性为空。ChannelFactory 的终结点必须指定一个有效的地址。
  7. JS生成二维码,支持中文字符
  8. 终于懂了:Delphi的函数名不是地址,取地址必须遵守Object Pascal的语法(Delphi和C的类比:指针、字符串、函数指针、内存分配等)good
  9. 详解CMS垃圾回收机制
  10. JavaEE开发之SpringBoot工程的创建、运行与配置
  11. 摘抄--全面理解面向对象的 JavaScript
  12. 《C#图解教程》 总览
  13. Angular 学习笔记 ( 链接服务器 )
  14. mysql substr() 函数
  15. Not saving crash log because we have reached the limit for logs to store on disk.解决办法
  16. Spring中的接口BeanFactory和FactoryBean的学习
  17. 微信小程序 canvas 字体自动换行(支持换行符)
  18. 【Java】 剑指offer(19) 正则表达式匹配
  19. Web视频播放之video.js
  20. 50_流程控制函数-case结构

热门文章

  1. ui自动化chrome文件上传操作
  2. 【springboot spring mybatis】看我怎么将springboot与spring整合mybatis与druid数据源
  3. String类,string类的特点
  4. CentOS7设置环境变量
  5. pat 乙级 1015. 德才论 (25) c++
  6. 百道Python面试题实现,搞定Python编程就靠它
  7. Linux的五种IO模型及同步和异步的区别
  8. 从零搭建一个SpringCloud项目之Feign搭建
  9. Java内存模型和ConcurrentHashMap 1.7源码分析
  10. Javascript-什么是递归?