Django admin
Posted waller
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django admin相关的知识,希望对你有一定的参考价值。
admin后台管理可以帮助你快速的实现已经注册了的模型表数据的增删改查
1.在项目文件夹的admin.py文件中注册你要操作的模型表
2.创建超级管理员,登录后台进行数据的管理
步骤详情
admin.py:
# 注册模型表用的方法 admin.site.register(模型表)
models.py
class Meta: verbose_name_plural = ‘表名‘ # admin后台中文显式表名
创建超级管理员 createsuperuser
admin url 规律
django admin会自动给注册了的模型表生成起码四条url(增删改查)
http://127.0.0.1:8000/admin/app01/userinfo/ 展示数据 http://127.0.0.1:8000/admin/app01/userinfo/add/ 添加数据 http://127.0.0.1:8000/admin/app01/userinfo/2/change/ 编辑数据 http://127.0.0.1:8000/admin/app01/userinfo/2/delete/ 删除数据 http://127.0.0.1:8000/admin/app01/article/ 展示数据 http://127.0.0.1:8000/admin/app01/article/add/ 添加数据 http://127.0.0.1:8000/admin/app01/article/2/change/ 编辑数据 http://127.0.0.1:8000/admin/app01/article/2/delete/ 删除数据
admin 五大参数
1.list_display:控制展示字段信息(不能放多对多外键字段) 2.list_display_links:控制跳转链接 3.search_fields:多条件的或查询 页面上会出现一个搜索框 4.list_filter:过滤 (推荐放外键字段) 右侧过滤栏 5.actions:批量处理函数 def patch_init(self,request,queryset): queryset.update(...) patch_init.short_description = ‘函数注释‘ actions = [patch_init,]
admin 启动源码
class ModelAdmin(BaseModelAdmin): ... # 配置类 class AdminSite(object): def __init__(self, name=‘admin‘): self._registry = {} # model_class class -> admin_class instance def register(self, model, admin_class=None, **options): if not admin_class: admin_class = ModelAdmin # Instantiate the admin class to save in the registry self._registry[model] = admin_class(model) site = AdminSite() admin.py注册语句 admin.site.register(models.Publish) # 仅仅是将注册了的模型表和以模型表为参数实例化产生的对象 # 当做键值对存入了site对象中的_registry字段 ?# >>>: { <class ‘django.contrib.auth.models.Group‘>: <django.contrib.auth.admin.GroupAdmin object at 0x000001A7689CE438>, <class ‘django.contrib.auth.models.User‘>: <django.contrib.auth.admin.UserAdmin object at 0x000001A768A03908>, <class ‘app01.models.Book‘>: <app01.admin.BookConfig object at 0x000001A768A03978>, <class ‘app01.models.Publish‘>: <django.contrib.admin.options.ModelAdmin object at 0x000001A768A1A400>, <class ‘app01.models.Author‘>: <django.contrib.admin.options.ModelAdmin object at 0x000001A768A1A518>, <class ‘app01.models.AuthorDetail‘>: <django.contrib.admin.options.ModelAdmin object at 0x000001A768A1A550> }
?
以上是关于Django admin的主要内容,如果未能解决你的问题,请参考以下文章