django.contrib 包
Django自动管理工具是django.contrib的一部分。django.contrib是一套庞大的功能集,它是Django基本代码的组成部分,Django框架就是由众多包含附加组件(add-on)的基本代码构成的。 你可以把django.contrib看作是可选的Python标准库或普遍模式的实际实现。 它们与Django捆绑在一起,这样你在开发中就不用“重复发明轮子”了。
管理工具是本书讲述django.contrib的第一个部分。从技术层面上讲,它被称作django.contrib.admin。django.contrib中其它可用的特性,如用户鉴别系统(django.contrib.auth)、支持匿名会话(django.contrib.sessioins)以及用户评注系统(django.contrib.comments)。
在成为一个Django专家以前,你将会知道更多django.contrib的特性。 目前,你只需要知道Django自带很多优秀的附加组件,它们都存在于django.contrib包里。
激活管理界面
Django管理站点完全是可选择的,因为仅仅某些特殊类型的站点才需要这些功能。 这意味着你需要在你的项目中花费几个步骤去激活它。
1. settings 文件的修改
将'django.contrib.admin'加入setting的INSTALLED_APPS配置中 (INSTALLED_APPS中的配置顺序是没有关系的,但是我们喜欢保持一定顺序以方便人来阅读)。
保证INSTALLED_APPS中包含'django.contrib.auth','django.contrib.contenttypes'和'django.contrib.sessions',Django的管理工具需要这3个包。
02 |
'django.contrib.auth' , |
03 |
'django.contrib.contenttypes' , |
04 |
'django.contrib.sessions' , |
05 |
'django.contrib.sites' , |
06 |
'django.contrib.messages' , |
07 |
'django.contrib.staticfiles' , |
09 |
'django.contrib.admin' , |
确保MIDDLEWARE_CLASSES 包含'django.middleware.common.CommonMiddleware' 、'django.contrib.sessions.middleware.SessionMiddleware' 和'django.contrib.auth.middleware.AuthenticationMiddleware' 。
2 |
'django.middleware.common.CommonMiddleware' , |
3 |
'django.contrib.sessions.middleware.SessionMiddleware' , |
4 |
'django.middleware.csrf.CsrfViewMiddleware' , |
5 |
'django.contrib.auth.middleware.AuthenticationMiddleware' , |
6 |
'django.contrib.messages.middleware.MessageMiddleware' , |
运行 python manage.py syncdb 。这一步将生成管理界面使用的额外数据库表。 当你把'django.contrib.auth'加进INSTALLED_APPS后,第一次运行syncdb命令时, 系统会请你创建一个超级用户。 如果你不这么作,你需要运行python manage.py createsuperuser来另外创建一个admin的用户帐号,否则你将不能登入admin (提醒一句: 只有当INSTALLED_APPS包含'django.contrib.auth'时,python manage.py createsuperuser这个命令才可用.)
将admin访问配置在URLconf(记住,在urls.py中). 默认情况下,命令django-admin.py startproject生成的文件urls.py是将Django admin的路径注释掉的,你所要做的就是取消注释。下面是样例:
01 |
from django.conf.urls.defaults import * |
02 |
from django.views.static import * |
03 |
from django.conf import settings |
05 |
from django.contrib import admin |
08 |
urlpatterns = patterns('', |
14 |
url(r '^admin/doc/' , include( 'django.contrib.admindocs.urls' )), |
17 |
url(r '^admin/' , include(admin.site.urls)), |
当这一切都配置好后,现在你将发现Django管理工具可以运行了。 启动开发服务器(如前:“python manage.py runserver”),然后在浏览器中访问:http://127.0.0.1:8000/admin/,
OK,后台就这样激活成功。