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管理后台查看是否表已迁移成功【迁移只是存在了表结构,表的数据是没有的,可自行在后台创建】

 

posted @ 2018-01-20 20:45  韩凯1990  阅读(194)  评论(0编辑  收藏  举报