Python Django基础教程(四)(admin站点管理)

来源:互联网 发布:在家的网络兼职 编辑:程序博客网 时间:2024/06/05 16:41

Django版本:1.11
操作系统:Windows
Python:3.5
欢迎加入学习交流QQ群:657341423


Django站点管理(admin)
项目架构
这里写图片描述


构建Django站点

站点管理讲得通俗一点,就是我们可以通过web方式,直接管理整个网站的数据,主要体现在管理数据库数据。
毕竟一个网站的管理人员不会直接通过数据库去管理的,而且管理人员基本上都不会是开发人员。所以这个对于非开发人员来说,是更好维护这个网站运行和管理。
基本上,Django已有一套admin的站点管理工具。我们直接配置一下即可使用。

设置:admin的url地址。
这里写图片描述

设置setting.py文件
这里写图片描述
其中’django.middleware.locale.LocaleMiddleware’是自行加入的,这个是将站点显示中文。必需在’django.contrib.sessions.middleware.SessionMiddleware’后面。
其余的基本上在新建项目的时候已有的。

再看一下之前app里面的models文件,这里为了下面的更好体现,比上一章的models做了稍微的修改。
这里写图片描述

查看一下数据库,这里我将上一章的数据表清空了,这里重新新建过
这里写图片描述
这里包含了设置字段可选这个功能,就是models里面的blank=True和null = True,当你添加blank=True以后,标签不再是粗体了,这时候说明这字段可以为空的。

如果你想允许一个日期型(DateField、TimeField、DateTimeField)或数字型(IntegerField、DecimalField、FloatField)字段为空,你需要使用null=True 和 blank=True。其余的直接用blank=True即可

这里写图片描述

新建数据表
这里写图片描述
这里写图片描述

运行服务器,打开http://127.0.0.1:8000/admin/
这里写图片描述

发现需要登录才能进入管理。那么我们需要创建帐号密码。新打开一个cmd,输入
这里写图片描述
可以看到,输入用户名,邮箱,密码(在输入密码的时候,是看不到任何显示的),回车完成。

然后在网页上输入刚才的帐号密码,登录
这里写图片描述

我们发现,这里只有一个‘认证和授权’的管理,这个是创建这个站点其他管理人员的帐号和权限。
这样就构建了一个站点管理的


在站点中加入其他模型。
我们在app的polls中admin.py中输入
这里写图片描述
查看web
这里写图片描述
发觉这是一个最简单的管理界面。当我点击‘增加 PUBLISHER’的时候,输入信息后保存
这里写图片描述
这里写图片描述
看到这里显示2条数据,我们直接查看数据库
这里写图片描述
发现可以通过站点管理直接对数据进行管理和维护。
但很多时候,我们还需要一些自定义的功能进行维护。比如web中只是显示了”测试-adfadf”,”luna-佛山”,如果我需要更多数据,而且也需要排序呢?

实现方式:
我们可以在app的polls中admin.py新建一个子类,继承admin.ModelAdmin
这里写图片描述

查看web
这里写图片描述
这里写图片描述

总结:
这里写图片描述

上图所示,一共有三组,分别是DJAPPTEST,POLLS,认证和授权,分别代表三个app。其中认证和授权是django自带的。其余是用户自定义的。每个app里面的Autors,Publishers等分别代表各自models.py的class,也就是数据库里面的表。


这里写图片描述
每个表里面的操作(增删改查)等于数据库的操作以及里面的显示方式在各自app里面admin.py里自定义class进行,每个class对应models.py的class。


最后一点,切勿忘记整个项目里面的urls.py和settings.py文件设置。

0 0
原创粉丝点击