首页 > 编程 > Python > 正文

django站点管理详解

2020-02-16 11:05:47
字体:
来源:转载
供稿:网友

管理界面是基础设施中非常重要的一部分。这是以网页和有限的可信任管理者为基础的界面,它可以让你添加,编辑和删除网站内容。Django有自己的自动管理界面。这个特性是这样起作用的:它读取你模式中的元数据,然后提供给你一个强大而且可以使用的界面,网站管理者可以用它立即工作。

Django的管理员模块是Django的标准库django.contrib的一部分。这个包还包括其它一些实用的模块:

django.contrib.auth

django.contrib.sessions

django.contrib.comments

我们分几个部分讲解django的管理界面(admin)的使用。

配置

其实admin的配置并不需要我们过多操心,在django创建项目和app的时候都会为我们自动创建,如果你不需要可以将其注释掉。如果要使用admin那么你需要检查以下几个点:

1.在INSTALLED_APPS设置文件中有

'django.contrib.admin''django.contrib.auth','django.contrib.contenttypes''django.contrib.sessions'

因为admin模块依赖

2.在MIDDLEWARE_CLASSES属性中有

'django.middleware.common.CommonMiddleware','django.contrib.sessions.middleware.SessionMiddleware''django.contrib.auth.middleware.AuthenticationMiddleware'.

也是因为依赖

3.运行pythonmanage.pymakemigrations和pythonmanage.pymigrate,用于创建为admin等模块创建新的数据库表。

因为apps中有auth模块,会要求你创建一个超级用户。所以在此之前你可以使用pythonmanage.pycreatesuperuser命令创建一个超级用户。这个非常简单,根据提示输入就可以。

4.在urls.py中设置admin映射,这个一般也是系统为我们自动添加的。

from django.contrib import adminadmin.autodiscover()urlpatterns = patterns('',  #...  (r'^admin/', include(admin.site.urls)),  #...)

完成以上步骤后,运行runserver你就可以通过/admin/这个url获取admin界面了。只不过这时候的admin界面除了用户和用户组之外没有其他的内容

admin.py文件

在每个app下系统会自动创建admin.py文件。这个文件的编写直接影响到admin界面的显示内容。

1.对model类进行注册

2.

from django.contrib import adminfrom mysite.books.models import Publisher,Author, Bookadmin.site.register(Publisher)admin.site.register(Author)admin.site.register(Book)

这是最基本的数据添加功能。当你在project文件夹中添加新的文件时,需要重启server才能生效。这样就会看到admin主界面中有了你定义的数据模型。此外如果想要你的admin界面中的添加数据功能生效,需要确保MIDDLEWARE_CLASSES中有'django.contrib.messages.middleware.MessageMiddleware'。这样我们就能够在admin界面很容易的操作数据库内容了,系统会自动同步到数据库。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表