码迷,mamicode.com
首页 > 其他好文 > 详细

Django admin

时间:2019-10-06 18:41:24      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:end   head   and   com   png   式表   实现   not   ade   

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

标签:end   head   and   com   png   式表   实现   not   ade   

原文地址:https://www.cnblogs.com/waller/p/11627828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!