[Django实战] 第7篇 - Admin管理工具

来源:互联网 发布:ecshop php版本 编辑:程序博客网 时间:2024/06/05 19:21

在上一篇中,我们自己定义了数据库模型(models.py),并已同步至数据库中,那么如何插入、更新、删除表中数据呢?方法有很多,比如直接写SQL语句在数据库层面插入或调用模型的API,但这两种方法都需要写代码实现,可不可以有更直观页面操作呢?答案当然是肯定的,这就是Django自带的Admin模块,本篇主要讲述它。

首先,我们需要通过以下步骤开启Admin模块:

第一步:对settings.py做如下修改:

1)保证INSTALLED_APPS中包含'django.contrib.auth','django.contrib.contenttypes'和'django.contrib.sessions'(因为我们之前已经使用了Django自动的用户认证系统,因此这三个包应该就在开启的状态)

2)在INSTALLED_APPS中把'django.contrib.admin'和'django.contrib.admindocs'的注释去掉

3)确保MIDDLEWARE_CLASSES 包含'django.middleware.common.CommonMiddleware' 、'django.contrib.sessions.middleware.SessionMiddleware' 和'django.contrib.auth.middleware.AuthenticationMiddleware'

第二步:运行 python manage.py syncdb 。这一步将生成管理界面使用的额外数据库表

第三步:将admin访问配置在URLconf(记住,在urls.py中). 默认情况下,命令django-admin.py startproject生成的文件urls.py是将Django admin的路径注释掉的,你所要做的就是取消注释。如下所示:

# Uncomment the next two lines to enable the admin:from django.contrib import adminadmin.autodiscover()urlpatterns = patterns('',    # Examples:    # url(r'^$', 'dbrelease.views.home', name='home'),    # url(r'^dbrelease/', include('dbrelease.foo.urls')),    # Uncomment the admin/doc line below to enable admin documentation:    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),    # Uncomment the next line to enable the admin:    url(r'^admin/', include(admin.site.urls)),...)

第四步:创建admin.py文件,内容如下:

from django.contrib import adminfrom .models import *admin.site.register(Manager)admin.site.register(Dba)admin.site.register(State)admin.site.register(Database)admin.site.register(Task)

当这一切都配置完毕之后,在浏览器中输入http://192.168.1.16:8000/admin/,登陆成功后就可以使用Admin管理工具了,界面如下:


从以上页面我们发现,除了我们自己定义的模型(Dbrelease_app下的表)外,还有我们之前讲过的Django自带的用户认证模块(Auth)和(Sites)。


原创粉丝点击