首页 > 其他 > 详细

Django之admin组件

时间:2019-09-28 11:35:04      阅读:116      评论:0      收藏:0      [点我收藏+]

1:settings.py 中的 INSTALLED_APPS

技术分享图片
 1 # Application definition
 2 
 3 INSTALLED_APPS = [
 4     django.contrib.admin,   #admin其实就是一个应用包,使用的时候需要写在APPS里
 5     django.contrib.auth,
 6     django.contrib.contenttypes,
 7     django.contrib.sessions,
 8     django.contrib.messages,
 9     django.contrib.staticfiles,
10     "app01"                         #开发者所创建的应用包
11 ]    
View Code

2:admin管理工具的简单使用

启动开发服务器,然后在浏览器中访问 http://127.0.0.1:8000/admin/,得到登陆界面,你可以通过命令 python manage.py createsuperuser 来创建超级用户。

为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin

admin.site.register(models.UserInfo) #models.字段  注册字段在admin对应表显示

3:admin管理工具的扩展使用

方式一:
    class UserAdmin(admin.ModelAdmin):
        list_display = (user, pwd,)
 
    admin.site.register(models.UserInfo, UserAdmin) # 第一个参数可以是列表
     
 
方式二:
    @admin.register(models.UserInfo)                # 第一个参数可以是列表
    class UserAdmin(admin.ModelAdmin):
        list_display = (user, pwd,)

ModelAdmin中提供了大量的可定制功能:

 1. list_display:定制显示字段

class UserAdmin(admin.ModelAdmin):  #创建一个类,继承admin.ModelAdmin
    list_display = (user, pwd, xxxxx)   #定义显示字段 
 
    def xxxxx(self, obj):
        return "xxxxx"

admin.site.register(models.UserInfo, UserAdmin) #一定要在对应的表里实例化,否则不会生效

2. list_display_links:定制列点击跳转

class UserAdmin(admin.ModelAdmin):
    list_display_links = (pwd,)     #定制列可以点击跳转

3. list_filter,列表时,定制右侧快速筛选。

class UserAdmin(admin.ModelAdmin):
     list_filter =["字段1",字段2]

4:list_editable,列表时,可以编辑的列 

class UserAdmin(admin.ModelAdmin):   
    list_editable = (“字段1”,"字段2") #在表首页直接进行编辑保存

5:search_fields,列表时,模糊搜索的功能

class UserAdmin(admin.ModelAdmin):
     
    search_fields = (user, pwd)    #在表首页出现搜索框,可以搜索定义字段的关键字

6:ordering,列表时,数据排序规则

class UserAdmin(admin.ModelAdmin):
    ordering = (-id,)
    或
    def get_ordering(self, request):
        return [-id, ]

7:action,列表时,定制action中的操作

class UserAdmin(admin.ModelAdmin):
 
    # 定制Action行为具体方法
    def func(self, request, queryset):
        print(self, request, queryset)
        print(request.POST.getlist(_selected_action))
        #这里可以对与拿到对象的操作 如:request.update(data=‘2019.9.28‘)
 
    func.short_description = "中文显示自定义Actions"
    actions = [func, ]
 
    # Action选项都是在页面上方显示
    actions_on_top = True
    # Action选项都是在页面下方显示
    actions_on_bottom = False
 
    # 是否显示选择个数
    actions_selection_counter = True    

 

Django之admin组件

原文:https://www.cnblogs.com/wanghong1994/p/11601977.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!