Django基础之后台功能、迁移到MySQL
Django默认开起了后台
创建admin后台超级用户:
python manage.py createsuperuser 输入用户名和密码后创建成功。
打开sqllite3后显示:
1、访问admin后台
2、用户和密码进行登录
3、通过后台操作数据库
首先,在admin.py下注册一下models
1 from django.contrib import admin 2 from mysite.models import BookInfo, HeroInfo 3 # 后台管理相关文件 4 # Register your models here. 5 # 注册模型类 6 admin.site.register(BookInfo) 7 admin.site.register(HeroInfo)
其次,编写models只展示需要展示的字段
1 from django.db import models 2 3 # Create your models here. 4 # 一类 5 # 图书类 6 class BookInfo(models.Model): 7 btitle = models.CharField(max_length=20) 8 bpub_date = models.DateField() 9 10 def __str__(self): 11 # 返回书名 12 return self.btitle 13 14 # 多类 15 # 英雄类 16 # 关系属性,建立图书类和英雄人物类之间的一对多的关系 17 class HeroInfo(models.Model): 18 hname = models.CharField(max_length=20) 19 hgender = models.BooleanField(default=False) 20 hcomment = models.CharField(max_length=100) 21 # ForeignKey外键设置,需要加上on_delete 22 hbook = models.ForeignKey('BookInfo', on_delete=models.CASCADE) 23 24 def __str__(self): 25 # 返回名字和备注 26 return '{}{}'.format(self.hname, self.hcomment)
最后,页面展示
注意:如果想在页面上展示更多的字段需要用到admin自定义模型管理类,如下编写
1 from django.contrib import admin 2 from mysite.models import BookInfo, HeroInfo 3 4 # 后台管理相关文件 5 # Register your models here. 6 # 自定义模型管理类 7 class BookInfoAdmin(admin.ModelAdmin): 8 list_display = ['id', 'btitle', 'bpub_date'] 9 10 class HeroInfoAdmin(admin.ModelAdmin): 11 list_display = ['hname', 'hgender', 'hcomment', 'hbook'] 12 13 # 注册模型类 14 admin.site.register(BookInfo, BookInfoAdmin) 15 admin.site.register(HeroInfo, HeroInfoAdmin)
页面显示
迁移到MySQL
1、安装mysqlclient:pip install mysqlclient
2、在settings.py中配置数据库
1 DATABASES = { 2 'default': { 3 # 'ENGINE': 'django.db.backends.sqlite3', 4 # 'NAME': BASE_DIR / 'db.sqlite3', 5 # """设置为MySQL数据库""" 6 'ENGINE': 'django.db.backends.mysql', 7 'NAME': 'djangodb', # 需先手动创建数据库 8 'USER': 'root', 9 'PASSWORD': 'root', 10 'HOST': 'localhost', 11 'PORT': 3306, 12 } 13 }
3、生成迁移文件和执行迁移文件
1 python manage.py makemigrations 2 python manage.py migrate
4、迁移数据库后需要重新创建超级管理员账号
python manage.py createsuperuser 输入用户名和密码后创建成功
5、登陆admin管理后台查看是否表已迁移成功【迁移只是存在了表结构,表的数据是没有的,可自行在后台创建】