《老鸟python 系列》视频上线了,全网稀缺资源,涵盖python人工智能教程,爬虫教程,web教程,数据分析教程以及界面库和服务器教程,以及各个方向的主流实用项目,手把手带你从零开始进阶高手之路!点击 链接 查看详情

如何使用后台管理

阅读:378166968    分享到

本节课,我们首先学习 django admin 的初级知识,学完本节课,你会发现很轻松就能实现一个后台管理页面,更复杂的操作我们放在下一节学习。

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 管理站点完全是可选择的,因为仅仅某些特殊类型的站点才需要这些功能。这意味着你需要在你的项目中花费几个步骤去激活它。

第一步,对你的 settings 文件做如下这些改变:

  • 'django.contrib.admin' 加入 setting 的 INSTALLED_APPS 配置中 (INSTALLED_APPS中的配置顺序是没有关系的,但是我们喜欢保持一定顺序以方便人来阅读)

  • 保证 INSTALLED_APPS 中包含 'django.contrib.auth''django.contrib.contenttypes''django.contrib.sessions''django.contrib.messages''django.contrib.staticfiles',Django 的管理工具需要这 5 个包。 (如果你跟随本文制作 mysite 项目的话,那么请注意我们在第五章的时候把这五项 INSTALLED_APPS 条目注释了。现在,请把注释取消。)

  • 确保 MIDDLEWARE 包含 'django.middleware.security.SecurityMiddleware''django.contrib.sessions.middleware.SessionMiddleware''django.middleware.common.CommonMiddleware' , ,'django.contrib.auth.middleware.AuthenticationMiddleware''django.contrib.messages.middleware.MessageMiddleware'。(再次提醒,如果有跟着做 mysite 的话,请把在第五章做的注释取消。)

第二步,运行 python manage.py migrate。这一步将生成管理界面使用的额外数据库表。当你把 'django.contrib.auth' 加进 INSTALLED_APPS 后,第一次运行 migrate 命令时,系统会请你创建一个超级用户。如果你不这么作,你需要运行 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 的路径,所以以下内容是必须确保存在的:

# Include these import statements...
from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

当这一切都配置好后,现在你将发现 Django 管理工具可以运行了。启动开发服务器(如前:python manage.py runserver ),然后在浏览器中访问:http://127.0.0.1:8000/admin/

使用管理工具

管理界面的设计是针对非技术人员的,所以它应该是自我解释的。尽管如此,这里简单介绍一下它的基本特性。

我们通过在浏览器中输入网址 http://127.0.0.1:8000/admin/ 之后,就可以看到如下界面。

我们发现 Django 后台管理的登录页面是英文的,如果你想把他变成中文的,只需要在 settings.py 文件中把配置 LANGUAGE_CODE = 'en-us'> 改成 LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'UTC' 改成 TIME_ZONE = 'Asia/Shanghai' 即可,如下图。

你要使用你原来设置的超级用户的用户名和密码。如果无法登录,请运行python manage.py createsuperuser ,确保你已经创建了一个超级用户。

一旦登录了,你将看到管理页面。这个页面列出了管理工具中可编辑的所有数据类型。现在,由于我们还没有创建任何模块,所以这个列表只有寥寥数条类目: 它仅有两个默认的管理-编辑模块:用户组(Groups)和用户(Users)。

在 Django 管理页面中,每一种数据类型都有一个 选择框编辑框 。前者显示数据库中所有的可用对象;后者可让你添加、更改和删除数据库中的某条记录。

点击 用户 行中的 修改 链接,引导用户更改列表。

这个页面显示了数据库中所有的用户。你可以将它看作是一个漂亮的网页版查询:SELECT * FROM auth_user; 如果你一直跟着作练习,并且只添加了一个用户,你会在这个页面中看到一个用户。但是如果你添加了多个用户,你会发现页面中还有过滤器、排序和查询框。 过滤器在右边;排序功能可通过点击列头查看;查询框在页面顶部,它允许你通过用户名查询。

点击其中一个用户名,你会看见关于这个用户的编辑窗口。

这个页面允许你修改用户的属性,如姓名和权限。(如果要更改用户密码,你必须点击密码字段下的 change password form,而不是直接更改字段值中的哈西码。)另外需要注意的是,不同类型的字段会用不同的窗口控件显示。例如,日期/时间型用日历控件,布尔型用复选框,字符型用简单文本框显示。

你可以通过点击编辑页面下方的删除按钮来删除一条记录。你会见到一个确认页面。有时候,它会显示有哪些关联的对象将会一并被删除。(例如,如果你要删除一个出版社,它下面所有的图书也将被删除。)

你可以通过点击管理主页面中某个对象的 Add 来添加一条新记录。一个空白记录的页面将被打开,等待你填充。

你还能看到管理界面也控制着你输入的有效性。你可以试试不填必需的栏目或者在时间栏里填错误的时间,你会发现当你要保存时会出现错误信息,如图下图所示。

当你编辑已有的对像时,你在窗口的右上角可以看到一个 历史按钮。通过管理界面做的每一个改变都留有记录,你可以按历史键来检查这个记录,如下图所示。


如果以上内容对您有帮助,请老板用微信扫一下赞赏码,赞赏后加微信号 birdpython 领取免费视频。


登录后评论