Django-admin
来源:互联网 发布:达芬奇软件作者 编辑:程序博客网 时间:2024/05/29 12:59
django.contrib是一套庞大的功能集,它是django的基本代码组成。
django由众多附加(add-on)组件构成
- django.contrib
- admin(管理)
- auth(用户鉴别系统)
- sessions(匿名会话)
- comments(用户评论系统)
激活管理页面
1.django.contrib.admin加入setting的INSTALL-APPS
2.保证APPS有
3.确保MIDDLEWARE有
INSTALLED_APPS = [ 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions',]MIDDLEWARE = [ 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', ]
上面这些选项将在,建立数据库时生成额外的表。
加入’django.contrib.auth’,需要创建一个超级用户,只有含这个auth时createsuperuser才可用
在URLConf配置admin访问
//在项目urls中配置 url(r'^admin/', admin.site.urls),
这样你就可以运行管理页面了
django管理页面中,每一种数据类型都有一个change-list(显示数据对象)、edit-form(数据操纵)
Models加入到Admin中
导入admin模块
from django.contrib import adminfrom .models import Duser,Product,Cart,Publishgoodsadmin.site.register(Duser)admin.site.register(Product)admin.site.register(Cart)admin.site.register(Publishgoods)//通知管理工具为这些模块建立界面
Admin是如何工作的
服务启动—url.py—引导URLconf—执行admin.autodiscover()—遍历INSTALL-APPS—寻找admin.py—执行
admin只显示在admin.py页面中明确注册的模块(admin也是一个app应用)
设置字段可选
#在models中设置blank=True,这样字段可选填,默认为False(必填)class Product(models.Model): image = models.ImageField(upload_to='products/%Y/%m/%d', blank=True)#这个字段不填的话,数据库中会自动填入空串
设置日期型和数字型字段可选
这两种字段是不接受空串的,
日期型(DateField,TimeField,DateTimeField)
数字型(IntegerField,DecimalField,FloatField)
你需要
date = models.DateField(null=True,blank=True)需要先改变数据语义,在设置选填
最后更新至数据库
自定义标签
在编辑页面中每个字段的标签都是从模块的字段名称中生成的。规则:首写字母大写,下划线用空格
class Product(models.Model): date = models.DateField(verbose_name="date")#另一种是用位置参数传递class Product(models.Model): date = models.DateField("date",blank=True) #但是这种对于外键和多对多是不成立的,因为这种的第一个参数必须是模块
自定ModelAdmin类
blank、verbose_name这些都是模块级别的
对模块的自定义管理工具,在ModelAdmin classes中
自定义列表
模块默认的显示字段是models中的__str,改进
from django.contrib import adminfrom .models import Duser,Product,Cart,Publishgoods# Register your models here.class DuserAdmin(admin.ModelAdmin): list_display = ('username','password')admin.site.register(Duser,DuserAdmin)#我们新建一个DuserAdmin,派生于ModelAdmin管理类。自定义一项list_display,他是一个字段名称元组,用于列表显示修改Duser调用,后面加上DuserAdmin,用选项注册Duser模块
如果注册时忽略第二个选项,那就使用模块中的默认选项
添加一个快速查询栏
class DuserAdmin(admin.ModelAdmin): search_fields = ('username')#大小写敏感
过滤器
class DuserAdmin(admin.ModelAdmin): list_filter = ('username')#按照字段进行过滤,一般用于日期、外键、布尔
排序
class DuserAdmin(admin.ModelAdmin): ordering = ('-date')#按日期反向排序
自定义表单
class DuserAdmin(admin.ModelAdmin): fields = ('date','username')#按照字段顺序显示各字段
用户、组、权限
- Django Admin
- django admin
- django admin
- Django Admin
- Django - Admin
- Django-admin
- Django Admin
- Django Admin
- Django admin
- Django-admin
- Django笔记-Admin
- 【Django】admin使用
- Django Admin 模块探究
- Django 增加admin site
- Django笔记-Admin
- grappelli美化Django Admin
- 定制Django Admin首页
- django admin使用
- vue学习参考地址
- JVM中对象的创建过程
- 栈帧结构
- Mybatis详细配置过程。
- python窗口居中显示
- Django-admin
- 关于IQKeyboardManager 在iOS11导航栏消失的问题
- springboot--redis
- ardruino控制继电器
- AutoCAD .Net 禁止图元被删除
- mysql存储过程
- ADAMS与Simulink联合仿真(一)
- cas单点登录 附带server、client所有jar包
- java 实现先序后序中序 遍历