5.Django站点管理

126 阅读1分钟

Django 站点管理

  • 站点:分为 内容发布公共访问 两部分
  • 内容发布 的部分由网站的管理员查看、添加、修改、删除数据
  • Django 能够根据定义的模型类自动地生成管理模块
  • 使用 Django 的管理模块,需要按照如下步骤操作
    1. 管理界面本地化
    2. 创建管理员
    3. 注册模型类
    4. 发布内容到数据库

1. 管理界面本地化

  1. 启动Django 项目,访问 http://10.10.22.232:8888/admin,可以看到英文界面的后台管理登录界面

  2. 修改 settings.py 文件

    # /bookmanager/bookmanager/settings.py
    
    # 设置语言
    # LANGUAGE_CODE = 'en-us'
    LANGUAGE_CODE = 'zh-Hans'
    
    # 设置时区
    # TIME_ZONE = 'UTC'
    TIME_ZONE = 'Asia/Shanghai'
    
    1. 重新运行项目,可以看到界面变成中文了

2. 创建管理员

  1. 管理员账号在数据库的 auth_user 表里进行维护,默认为空,因此我们需要在终端中创建一个管理员账号。

  2. 在虚拟环境中,使用 python manage.py createsuperuser 命令创建超级管理员,根据提示,输入账号、密码、邮箱。

  3. 刷新数据库,在 auth_user 表中可以看到增加了一条数据。

  4. 使用创建的超级管理员账号,登录后台管理系统。

    16.png

3. 注册模型类

此时后台管理界面还没有我们创建的 BookInfoPeopleInfo 模型,是因为还没有注册。

/bookmanager/book/admin.py 文件里进行注册:

from django.contrib import admin
from book.models import BookInfo, PeopleInfo
# 注册模型类
admin.site.register(BookInfo)
admin.site.register(PeopleInfo)
# 重新运行服务

重启服务:

0017.png

4. 发布内容到数据库

BookInfo 里增加 西游记三国演义

0018.png

重写 /bookmanager/book/models.py 文件里 BookInfo 类的 __str__ 方法:

class BookInfo(models.Model):
    name = models.CharField(max_length=10)

    # 重写 __str__ 方法,来在后台管理系统显示书籍名字
    def __str__(self):
        return self.name

重启服务:

0019.png