博客
关于我
admin
阅读量:761 次
发布时间:2019-03-23

本文共 2613 字,大约阅读时间需要 8 分钟。

使用管理站点

Django能够根据定义的模型类自动地生成管理页面。使用Django的管理模块,需要按照如下步骤操作:

1. 管理界面本地化

settings.py 中设置语言和时区:

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

2. 创建超级管理员

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

python manage.py createsuperuser

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

http://127.0.0.1:8000/admin/

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

3. 注册模型类

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

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

from django.contrib import adminfrom booktest.models import BookInfo, HeroInfoadmin.site.register(BookInfo)admin.site.register(HeroInfo)

到浏览器中刷新页面,可以看到模型类的 BookInfoHeroInfo 的管理了。

点击类名称 "的BookInfo"(图书)可以进入列表页,默认只有一列。

4. 自定义管理页面

Django中提供的联系站点的展示效果可以通过自定义 ModelAdmin 类来进行控制。

定义管理类需要继承自 admin.ModelAdmin 类,如下:

from django.contrib import adminclass BookInfoAdmin(admin.ModelAdmin):    pass

使用管理类有两种方式:

  • 注册参数:
admin.site.register(BookInfo, BookInfoAdmin)
  • 装饰器:
@admin.register(BookInfo)class BookInfoAdmin(admin.ModelAdmin):    pass

列表页展示

1. 页大小

每页中显示多少条数据,默认为每页显示100条数据,属性如下:

list_per_page=100

打开 booktest/admin.py 文件,修改 BookInfoAdmin 类如下:

class BookInfoAdmin(admin.ModelAdmin):    list_per_page = 2

2. "操作选项"的位置

顶部显示的属性,设置为 True 在顶部显示,设置为 False 不在顶部显示,默认为 True

底部显示的属性,设置为 True 在底部显示,设置为 False 不在底部显示,默认为 False

打开 booktest/admin.py 文件,修改 BookInfoAdmin 类如下:

class BookInfoAdmin(admin.ModelAdmin):    actions_on_top = True    actions_on_bottom = True

3. 列表中的列

属性如下:

list_display=[模型字段1,模型字段2,...]

打开 booktest/admin.py 文件,修改 BookInfoAdmin 类如下:

class BookInfoAdmin(admin.ModelAdmin):    list_display = ['id','btitle']

4. 关联对象

无法直接访问关联对象的属性或方法,可以在模型类中封装方法,访问关联对象的成员。

打开 booktest/models.py 文件,修改 BookInfo 类如下:

class BookInfo(models.Model):    ...    def pub_date(self):        return self.bpub_date.strftime('%Y年%m月%d日')    pub_date.short_description = '发布日期'    pub_date.admin_order_field = 'bpub_date'

打开 booktest/admin.py 文件,修改 BookInfoAdmin 类如下:

class BookInfoAdmin(admin.ModelAdmin):    list_display = ['id','atitle','pub_date']

方法列是不能排序的,如果需要排序需要为方法指定排序依据。

打开 booktest/models.py 文件,修改 BookInfo 类如下:

class BookInfo(models.Model):    ...    def pub_date(self):        return self.bpub_date.strftime('%Y年%m月%d日')    pub_date.short_description = '发布日期'    pub_date.admin_order_field = 'bpub_date'

5. 右侧栏过滤器

属性如下,只能接收字段,会将对应字段的值列出来,用于快速过滤。一般用于有重复值的字段。

打开 booktest/admin.py 文件,修改 HeroInfoAdmin 类如下:

class HeroInfoAdmin(admin.ModelAdmin):    list_filter = ['hbook', 'hgender']

6. 搜索框

属性如下,用于对指定字段的值进行搜索,支持模糊查询。列表类型,表示在这些字段上进行搜索。

打开 booktest/admin.py 文件,修改 HeroInfoAdmin 类如下:

class HeroInfoAdmin(admin.ModelAdmin):    search_fields = ['hname']

以上步骤可以帮助您完成Django管理站点的设置与使用,通过这些配置,您可以更方便地管理应用中的数据。

转载地址:http://codzk.baihongyu.com/

你可能感兴趣的文章
NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
查看>>
NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>