Django学习之三 管理后台管理数据模型
Django内置了一个管理后台,这个管理后台动态的读入数据模型,然后创建一个完备的管理界面,从而可以方便的管理数据。这是一个可以“拿来就用”的方便工具。
管理后台功能其实也是一个应用叫做django.contrib.admin ,默认已包含在INSTALLED_APPS 设置中。
一、创建超级用户
要使用管理后台,需要先注册一个超级用户 python manage.py createsuperuser
D:\work\code\python\django_01>python manage.py createsuperuser
Username (leave blank to use 'yinww'): admin 输入自己的管理员名
Email address: [email protected] 输入邮箱
Password: 输入密码
Password (again): 再次输入密码
Superuser created successfully.
如果密码输入的太简单会提示密码太弱,是否确认继续创建用户
二、Django 管理后台
启动服务 python manage.py runserver
D:\work\code\python\django_01>python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
June 16, 2019 - 10:13:16
Django version 2.2.2, using settings 'django_01.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
访问 http://127.0.0.1:8000/admin/ 进入管理后台登录页面,然后输入上面创建的超级用户名和密码即可登录管理后台
登录后可看到Group和User在管理后台,能够进行Group对象的增删改查。这是因为 settings.py 文件的 INSTALLED_APPS 配置了django.contrib.auth
三、管理后台添加模型
让管理后台能管理Post模型,需要在blog应用的 admin.py 添加如下内容:
from django.contrib import admin
from .models import Post
admin.site.register(Post)
刷新管理后台页面,可以看到也能管理Post模型了。
四、管理后台中自定义模型显示
from django.contrib import admin
from .models import Post
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'slug', 'author', 'publish', 'status')
list_filter = ('status', 'created', 'publish', 'author')
search_fileds = ('title', 'body')
prepopulated_fields = {'slug':('title',)}
raw_id_fields = ('author',)
date_hierarchy = 'publish'
ordering = ('status', 'publish')
然后刷新页面,进入Posts页面可发现Post模型的显示已经按照上面定义的内容进行显示了。
本文内容到此结束,更多内容可关注公众号和个人微信号: