第五章:Admin管理后台
Django奉行Python的内置电池哲学。它自带了一系列在Web开发中用于解决常见问题或需求的额外的、可选工具。这些工具和插件,例如django.contrib.redirects
都必须在settings中的INSTALLED_APPS
处进行注册,有的还需要执行manage.py migrate命令,在数据库中创建一些数据表。
Admin站点是Django有别于其它Web框架最重要的一点,并且非常受欢迎,简直是出门旅游xxxx的必备。不管你是写个小demo还是做个大项目都用得上。admin(下文中将Admin管理后台简称为admin)通过读取你的模型数据,快速构造出一个可以对实际数据进行管理的Web站点,常用于开发测试,简单管理等场合,适用于部门内部为工作方便的场合,但不建议在生产环境中使用。
默认情况下,使用startproject的时候,admin就被激活了。
在使用admin时请注意下面的需求和要点:
- 将
django.contrib.admin
加入INSTALLED_APPS
。 - admin依赖四个模块,请确保它们存在于
INSTALLED_APPS
,他们是django.contrib.auth、django.contrib.contenttypes、django.contrib.messages和django.contrib.sessions。 - 在你的settings文件中的TEMPLATES中的
context_processors
选项内添加django.contrib.auth.context_processors.auth
和django.contrib.messages.context_processors.messages
这两条。同样,将django.contrib.auth.middleware.AuthenticationMiddleware
和django.contrib.messages.middleware.MessageMiddleware
添加到settings的MIDDLEWARE
内。默认情况下,这些都是配置好的。 - 决定哪些模型需要在admin内进行管理,在
admin.py
文件中注册它们。 - 对于每个模型,可以创建一个对应的
ModelAdmin
类,这个类将封装对模型的所有自定义设置。 - 实例化一个AdminSite,将模型、模型对应的ModelAdmin类传给它。
- 链接AdminSite和你的URLconf。这一步通常默认已经完成。
做完上面的步骤,你就可以在浏览器中访问admin站点了,默认地址是/admin/
。但是,想要登录进去,你首先必须使用python manage.py createsuperuser
命令创建管理员账户。
创建管理员账户的过程中,注意密码强度,不能太简单。