2020-04-11--Django3--后台管理

后台管理

1.创建超级管理员

python manage.py createsuperuser

输入用户名,邮箱,密码即可。



运行(在8888端口运行):

python manage.py runserver 127.0.0.1:8888

在浏览器中访问127.0.0.1:8888



输入用户名和密码后:



网页是英文页面,进行本地化操作
在pycharm中打开setting.py文件

修改

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'

LANGUAGE_CODE = 'zh-hans'   #使用中国语言
TIME_ZONE = 'Asia/Shanghai'   #使用中国上海时间

重新启动服务器(变成中文):


image.png

2.把model.py中的类注册到admin.py中

打开admin.py:
写入以下代码:

from booktest.models import BookInfo,HeroInfo
#导入两个类,
admin.site.register(BookInfo)   #注册到admin中
admin.site.register(HeroInfo)


刷新浏览器:

点击增加:

保存,返回上一页:

我们发现所有的对象显示的都是对象名字,怎么显示书籍的名字呢?
我们要在models.py中的两个类重写str()方法

from django.db import models

# Create your models here.
class BookInfo(models.Model):

    #书名,models.CharField 字符串类型,字符串的最大长度为20
    btitle = models.CharField(max_length=20)
    #出版日期
    bpub_date = models.DateField()
    def __str__(self):
        return self.btitle
#迁移 神雕侠侣

class HeroInfo(models.Model):
    hname = models.CharField(max_length=20)    #姓名
    hgender = models.BooleanField(default=False)   #性别(默认为男性)
    hcomment = models.CharField(max_length=100)    #备注
    #这两个表是一对多关系,设置一对多的外键,参数是对应表的类名
    hbook = models.ForeignKey('BookInfo')
    def __str__(self):
        return self.hname

重新登录浏览器打开Bookinfos,发现显示的就是书籍名称



然后,我们又发现,我们为你在数据库中的数据都是有id的,怎么在后台管理中显示id呢?
因为这是后台管理,所以还是打开admin.py,

#定义一个类,继承admin.ModelAdmin,
class BookInfoAdmin(admin.ModelAdmin):
    #要显示的列表
    list_display = ['id','btitle','bpub_date']
#当然下边注册的时候要把这个类也添进去
admin.site.register(BookInfo,BookInfoAdmin)   #注册

再次登录后台管理,刷新:
发现id显示成功



HeroInfo过程与他相同,不做解释



后台管理做完了,要做前台页面了,也就是MVC中的View

你可能感兴趣的:(2020-04-11--Django3--后台管理)