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

释放双眼,带上耳机,听听看~!

本人新书《玩转Python网络爬虫》,可在天猫、京东等商城搜索查阅或通过右侧图书链接购买,项目深入浅出,适合爬虫初学者或者是已经有一些网络爬虫编写经验,但希望更加全面、深入理解Python爬虫的开发人员。


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以后,标签不再是粗体了,这时候说明这字段可以为空的。


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

新建数据表

运行服务器,打开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文件设置。

给TA打赏
共{{data.count}}人
人已打赏
安全技术

c++ list, vector, map, set 区别与用法比较

2022-1-11 12:36:11

安全运维

Linux下安装mysql

2021-12-11 11:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索