让我们来继续我们的网络投票应用,Django会自动产生管理者网站。
注意:
Django是在新闻制作的背景下产生的,有一个明确的界限,那就是”内容发行者”和”公共网站”。网站管理者食用系统来添加新的故事、事件、体育得分和其他展示在公共网站上的内容。Django会自动创建一个同一的页面来让网站管理者编辑内容。管理并不打算让网站浏览者使用,它是为网站管理者准备的。
创建一个管理者
首先,我们需要创建一个能够登录到管理者网站的用户。运行下面的命令:
$ python manage.py createsuperuser
按照提示,逐步进行设置:
Username (leave blank to use 'weichuang'): admin
Email address: 1261810665@qq.com
Password:
Password (again):
Superuser created successfully.
开启开发服务器
Django的管理者网站是默认激活的,让我们来开启开发服务器,来探索它。
通过之前的教程,我们可以这样开启开发服务器:
$ python manage.py runserver
现在,打开一个浏览器,在你本地域名上进入/admin/
,例如,http://127.0.0.1:8000/admin/
。你会看到管理者登陆窗口:
翻译是默认开启的,登陆窗口可能以你自己的语言展示出来,这取决于你浏览器的设置和Django对这门语言是否有翻译。
进入管理者网址:
现在,尝试一下使用你之前创建的超级用户的账户来登陆。你应当看到Django的管理者网页。
你应当可以看到一些可编辑的内容:groups
和users
。它们是由django.contrib.auth
这个框架提供的。
让投票应用可改变
我们的投票应用在哪里呢?它没有展示在管理者网页上。
只需做一件事:我们需要告诉管理者Question对象有一个管理者节目。为了实现这个,打开polls/admin.py
这个文件,像下面那样编辑代码:
from django.contrib import admin
from .models import Question
admin.site.register(Question)
探索自由的管理者功能
既然我们已经注册了Question
这个模型,那么Django就知道这个要被展示在管理者页面上。
点击”Questions”,你就会进入问题的”改变列表页”。这个页面会展示数据库中所有的问题,并且允许你选择一个来修改它。之前我们创建了一个问题:
点击这个问题来编辑它: