django.contrib
django.contrib是django中附带的一个工具集,由很多的附加组件组成。这些附加组件包括管理工具(django.contrib.admin)、用户鉴别系统(django.contrib.auth)、PostgreSQl详细信息提取(django.contrib.postgres)、匿名会话(django.contrib.sessions)等等。详细的列表可以在Djangodocument里面查看到。
使用管理工具
通过设置settings.py来激活站点管理工具admin:
1. 在mysite.settings中的INSTALLED_APPS中,添加django.contrib.admin、django.contrib.contenttypes、django.contrib.sessions;以及添加django.contrib.auth,这样django会在生成管理界面数据库表时生成超级用户以供登陆;
2. 在mysite.settings中的MIDDLEWARE_CLASSES中,添加django.middleware.common.CommonMiddleware、django.contrib.sessions.middleware.SessionMiddleware、django.contrib.auth.middleware.AuthenticationMiddleware;
这些配置在django中默认是添加的。
通过设置URLconf使得管理页面正确访问:
?
from django.contrib import admin
urlpatterns = [
? ? url(r‘^admin/‘, include(admin.site.urls)),
? ? #… other url
]
可以在django.contrib.admin.site中,查看urls内容:
其返回一个包含url_patterns、app_name、namespace的三元组,响应内容可查看之前随笔。在get_urls()方法中,返回一个可能在管理页面中用到的url_patterns,下图展示get_urls()方法的部分内容,详细内容可查看源代码:
可以看到有登陆、登出、密码变更、应用URL等常用URLconf。
运行python manage.py?syncdb ,启用管理工具,并且提示添加管理员账号、邮箱以及密码。
运行python manage.py runserver 0.0.0.0:8000,启动django服务器,并且在主机中访问127.0.0.1:8888/admin(相关环境以及网络设置见之前随笔),即可看到管理页面:
登陆后显示如下页面:
该页面只是展示了系统自带的一些简单功能,可以通过admin.site.register方法或者@admin.register修饰符来将自己的模型添加到管理页面中,定制自己的管理页面