[Django]编写第一个Django app,第四部分——初控Django的管理员功能

启用管理员功能
Django的管理员功能默认是不启用的——这是一个可选项。想要为你的程序启用管理员功能,需要做这三样事情:
  1.在INSTALLED_APPS设置中添加"django.contrib.admin"。

  2.运行python manage.py syncdb。当你添加一个新的应用程序到INSTALLED_APPS时,数据库的表需要手动更新。

  3.编辑文件mysite/urls.py,取消注释"Uncomment the next two lines…"下的那些行注释。这个文件是一个URL映射。

最后,你的urls.py文件应该像下面的那样:

from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Example:
    # (r'^mysite/', include('mysite.foo.urls')),

# Uncomment the admin/doc line below and add 'django.contrib.admindocs'
    # to INSTALLED_APPS to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

# Uncomment the next line to enable the admin:
    (r'^admin/(.*)', admin.site.root),
)

 

启动开发版服务器
让我们启动开发版服务器并浏览管理员页面。

  python manage.py runserver

现在,打开浏览器,在你的本地域中进入"/admin/"——如,htt://127.0.0.1:8000/admin/。你将会看到管理员的登录界面:

进入管理员页面

现在,尝试登录一下。(你在前面的教程中已经创建了超级用户帐号,还记得吗?)你将会看到管理员首页:

你会看到一些可编辑的内容,包括组,用户和站点。这些都是Django默认的核心特性。

使poll app在管理员站点中可修改

但我们的poll app在哪里呢?它没有在管理员站点首页出现。

只要做一点点的工作就行了:我们需要告诉admin,Poll对象有一个admin接口。

要做用这点,在你的polls文件夹中创建一个文件admin.py,然后把它编辑成这样:

Code

 

你需要重新启动开发版服务器才能看到你的变化。通常的,这个服务器会在你修改文件后自动重启,但新那一个文件并不会触发它的重启逻辑。

浏览免费的管理功能

现在,我们已经注册了Poll,Django知道了要把它显示在管理员站点的首页上:

单击"Polls"进入polls的"change list"页面。这个页面显示数据库中所有的polls,让我们选择其中一个然后修改它吧。

这里有一个我们在先前的教程中创建的"What's up?" poll:

单击"What's up?" poll然后编辑它:

注意这些东西:

  1.这个表单是根据Poll模型自动生成的。

  2.不现的模型域类型(DateTimeField, CharField)转换成适当的HTML input控件。每种域类型都知道怎样显示在Django的管理员站点中。

  3.每个DateTimeField都会获得一个免费的JavaScript图标。日期是"Today"和一个日历控件,时间是"now"和一个方便的包含有常用的时间值的弹出框。

页面下面的按钮是一些选项:

  1.Save——保存更改并返回列出这个对象类型被更改的部分的页面。

  2.Save and continue editing——保存更改并重新加载这些对象的管理员页面。

  3.Save and add another——保存更改并加载这个对象类型的新的空表单。

  4.Delete——显示一个删除确认页面。

通过单击"Today"和"Now"的快捷图标来更改"Date published"的值。单击"Save and continue editing",然后单击右上角的"History"。

你将看到一个页面,它列出了你通过Django管理功能所做的所有更改,包括时间和更改人的用户名:

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏