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)
阅读全文
0 0
- django基础入门(4)-后台管理
- [Django]入门笔记 --怎样简单启用后台管理
- Django后台管理
- django后台入门--引言
- Django项目实践4 - Django站点管理(后台管理员)
- 使用django做管理后台
- Django 安装Xadmin后台管理
- Django自动生成Admin后台管理页面
- Django-- admin后台管理模块的使用
- django admin 后台权限管理设置
- Django学习笔记--后台管理界面
- django1.8使用django-xadmin管理后台
- Django之model admin自定义后台管理
- Django之model admin自定义后台管理
- Django后台管理系列之四
- Django学习笔记6-启用管理后台
- Django网站建设-GMOOC-后台管理系统
- Django框架之 Admin(后台管理)
- Codeforces Round #436 (Div. 2) D. Make a Permutation!(优先队列)
- 关于java导出为war包
- LeetCode题目:23. Merge k Sorted Lists
- Java——初始化块,初始化块与构造方法,静态初始化块
- WebGL三角形平移变换
- django基础入门(4)-后台管理
- <PTA>一元多项式的求和和乘积运算解题报告
- LeetCode编程练习
- 关于<a></a>标签里嵌套<a></a>标签的bug
- CSS3新增特性
- 3.MongoDB数据查询
- jdk1.7 try-with-resource
- loadrunner Web_类函数之web_save_header()
- 【mysql】事务 运行原理 概述