【Django入坑之路】admin组件
2024-10-08 01:41:52
1:settings.py 中的 INSTALLED_APPS
# Application definition INSTALLED_APPS = [
'django.contrib.admin', #admin其实就是一个应用包,使用的时候需要写在APPS里
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"app01" #开发者所创建的应用包
]
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
最新文章
- 记录一些PHP7RCC1编译问题
- hibernate.cfg.xml配置文件和hbm.xml配置文件 模板
- 转:Java HashMap实现详解
- SQLite数据类型详解
- 基础-Servlet
- 手机端android/iPhone问题
- Windows下mysql5.5主从同步
- 基于Vue的页面切换左右滑动效果
- JVM笔记5-对象的访问定位。
- Bootstrap3 排版-改变大小写
- editormd实现Markdown编辑器写文章功能
- 每日分享!canvas的使用~
- PAT 1066 图像过滤
- HDU2717-Catch That Cow (BFS入门)
- Xcode使用介绍
- 通过shell处理多行数据
- 第二章 IoC
- Matlab横坐标从特定值开始
- 我眼中的PageRank算法详解
- 垃圾收集GC
热门文章
- python函数当容器
- 解决CSocket高数据传输问题
- 2019-8-31-dotnet-通过-WMI-获取指定进程的输入命令行
- 2018-10-20-C#-从零开始写-SharpDx-应用-初始化dx修改颜色
- POJ 1386&;&;HDU 1116 Play on Words(我以后再也不用cin啦!!!)
- windows搭建rabbitmq ha
- 用Python的requests库作接口测试——上传文件
- Web前端开发的就业前景怎么样,薪资待遇如何
- 大量的Close_wait 发现的 too many open file 错
- springboot中logback打印日志(转)