django基础入门(4)-后台管理

来源:互联网 发布:淘宝双11销售额 编辑:程序博客网 时间:2024/05/23 13:57

站点分为后台(网站内容管理)和前台(公共访问两部分),后台部分由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块.

使用Django的管理模块,需要按照如下步骤操作:

1. 管理界面本地化;

2. 创建管理员;

3. 注册模型类;

4. 自定义管理页面.

1. 管理界面本地化

本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化,中国大陆地区使用简体中文,时区使用亚洲/上海时区,注意这里不使用北京时区表示.打开项目django_news_day01/settings.py文件,找到语言编码、时区的设置项,将内容改为如下:

LANGUAGE_CODE = 'zh-Hans'TIME_ZONE = 'Asia/Shanghai

2. 创建管理员

既然要登录网站管理后台,那么就需要先创建登录账号和密码。

创建管理员的代码如下,按提示输入用户名、邮箱、密码:

python manage.py createsuperuser

启动服务器:

python manage.py runserver

打开浏览器,在地址栏中输入如下地址后回车:

http://127.0.0.1:8000/admin

输入前面创建的用户名、密码完成登录:


登录成功后界面如下,但是并没有新闻分类、新闻列表的管理入口,接下来进行第三步操作.


3. 注册模型类

将我们自定义的模型类注册到后台进行管理。

登录后台管理后,默认没有我们创建的应用中定义的模型类,需要在自己应用中的admin.py文件中注册,才可以在后台管理中看到,并进行crud操作.

打开app/admin.py文件,编写如下代码:

from django.contrib import admin# Register your models here.from .models import NewsList, NewsCategory# 注册自定义模型类admin.site.register(NewsList)admin.site.register(NewsCategory)

刷新页面,可以看到模型类NewsList和NewsCategory的管理了, 但默认只有一列,显示的是str方法返回的值.



4. 自定义管理界面

Django提供了自定义管理页面功能,比如列表页要显示哪些字段值.

打开app/admin.py文件,自定义类继承自admin.ModelAdmin类, 属性list_display表示要显示哪些属性.

from django.contrib import adminfrom .models import NewsCategory, NewsInfoclass NewsCategoryAdmin(admin.ModelAdmin):# 新闻分类信息显示那些字段信息    list_display = ["id", "cag_name"]class NewsInfoAdmin(admin.ModelAdmin):    # 新闻信息显示那些字段信息    list_display = ["id", "news_title", "news_summary", "news_contents", "news_time", "news_cag"]# 注册model类admin.site.register(NewsCategory, NewsCategoryAdmin)admin.site.register(NewsInfo, NewsInfoAdmin)


原创粉丝点击