之前已经定义了Post模型,通过读取模型元数据,同时提供针对编辑内容的产品接口,Django可自动构建管理站点。用户可直接对其加以使用,并配置模型的显示方式。
一、创建超级用户
python manage.py createsuperuser
二、Django管理站点
使用python manage.py runserver启动服务,并在浏览器中打开http://127.0.0.1:8000/admin/。
输入上面创建的超级用户账户密码,进入后台,如下所示:
Groups和Users模型表示为django.contrib.auth验证框架中的部分内容。
三、向管理站点中添加模型
admin.py文件,可在该文件中注册模型,并将其纳入Django管理站点中——使用Django管理站点为可选项。
方式一:默认显示方式
直接通过admin.site.register
注册Post模型。
from django.contrib import admin
from .models import Post
# Register your models here.
admin.site.register(Post)
然后进入后台,可以看到Posts已经显示出来了。
并且有默认的列表显示方式,如下:
方式二:定制显示方式
通过@admin.register()
装饰器来注册Post
from django.contrib import admin
from .models import Post
# Register your models here.
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'slug', 'author', 'publish', 'status')
list_filter = ('status', 'created', 'publish', 'author')
search_fields = ('title', 'body')
prepopulated_fields = {'slug': ('title',)}
raw_id_fields = ('author',)
date_hierarchy = 'publish'
ordering = ('status', 'publish')
这里,我们将通知Django管理站点,当前模型通过继承自ModelAdmin的自定义类
在管理站点中注册。在该类中,可包含管理站点中与模型显示方式及其交互方式相关的信息。
此外,使用prepopulated_fileds
属性,根据title字段输入结果预填充slug字段。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END