十三、Django Admin
1.一、计算机初识2.二、数据概述3.六、ip地址与子网划分4.五、网络通信实现5.四、字符编码6.三、网络基础7.十四、MySQL与Django之Model基础
8.十三、Django Admin
9.十二、Django视图函数和模版相关10.十一、Django url控制系统11.十、Django静态文件12.九、Django环境搭建(基于anaconda环境)13.八、Python开发环境管理14.七、ip地址配置15.二十五、JSON跨域16.二十四、文件上传17.二十三、Django Serializes18.二十二、Django之Form组件19.二十一、分页20.JS笔记21.二十、基于Bootstrap和FontAwesome制作页面22.十九、Ajax和iFrame23.十八、Django之Http24.十七、Cookie和Session25.十六、Django的ORM(二)26.十五、Django的ORM27.实践中前端的一些笔记28.二十六、登录相关29.二十九、RBAC+动态菜单30.二十八、XSS31.JS第三方插件32.二十七、简单的验证码实现33.三十二、Django实践的笔记34.三十一、动态Form35.三十、KingadminDjango Admin是django项目数据库的一个后台管理工具
一、注册models
项目中,应用创建之后,应用文件夹就有一个admin.py文件。在admin.py中注册需要在admin后台管理的models
from django.contrib import admin
from web import models
admin.site.register(models.Host)
admin.site.register(models.HostGroup)
admin.site.register(models.IDC)
admin.site.register(models.UserProfile)
admin.site.register(models.HostToRemoteUser)
admin.site.register(models.RemoteUser)
二、登录admin
在终端,项目根目录下,运行命令创建superuser:
python manage.py createsuperuser
#设置用户名
#设置密码
访问: ip+端口/admin,在登录页使用创建好的superuser登录admin
三、admin后台的使用
1、在后台,可以新建User,创建后需要勾选Staff Status,用户才可以登录admin;
2、除了Staff Status,User还有更多权限相关可设置,或者设置为Super User;
四、自定义Admin
在admin.py中,继承admin.ModelAdmin来创建某个model的配置类
from django.contrib import admin
from crm import models
class CustomerAdmin(admin.ModelAdmin):
list_display = ['name', 'source', 'contact_type', 'contact', 'consultant', 'consult_content', 'status', 'date']
list_filter = ['source', 'consultant', 'status', 'date']
search_fields = ['contact', 'consultant__name']
admin.site.register(models.CustomerInfo, CustomerAdmin)
class BookAdmin(admin.ModelAdmin):
list_display = ('id','name','price','pub_date')
ordering = ("-price",)
fieldsets = [
(None,{'fields':['name']}),
('price information',{'fields':['price','publish'],'classes':['collapse']}),
]
其中:
list_display:设置显示的字段列(多对多字段不可列出)
list_filter:筛选
search_fields:搜索功能
fieldsets:自定义详情页的样式
ordering:排序。例如:ordering = ("price",) 按price排序(升序);
ordering = ("-price",) 在字段前加‘-’为倒序。
另外还有:
list_editable:自定义某列是否可以编辑
filter_horizontal:多对多字段设置filter_horizontal属性,页面样式会变成方便多对多数据量大时的操作
list_per_page: 配置分页,默认=20
等等
五、修改Admin页面语言
LANGUAGE_CODE = 'zh-hans' #设置中文
六、列的别名设置
model定义字段时,设置verbose_name属性
class CustomerInfo(models.Model):
"""客户信息表"""
...
referral_from = models.ForeignKey("self", blank=True,\
null=True, verbose_name="转介绍")
合集:
Python全栈(Django)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库