Pyhton——Django框架(六)

一、Admin——后台管理员系统

1、创建admin

在我们的项目文件夹里,有一个 admin.py 的文件,我们对其做一些操作,就能有后台管理系统了。

首先是导入数据库:

ADMM框架的python库 python admin框架_字段


接着就是注册表,注册了表之后,后台管理系统页面才有这些表:

ADMM框架的python库 python admin框架_字段_02


还是用的之前的表,这里注册了三张表,分别是:作者,出版社,书籍。

那么注册了之后,怎么进入管理系统呢?

在网址后面加个 admin 就行:

ADMM框架的python库 python admin框架_字段_03

接着来到管理员登录界面:

ADMM框架的python库 python admin框架_python_04

但是这时候你不知道用户名跟密码。这是因为这需要你自己手动创建管理员账号:

ADMM框架的python库 python admin框架_python_05


需要你在控制台手动创建:

ADMM框架的python库 python admin框架_搜索_06


分别是:用户名,邮箱,密码。(邮箱写不写都无所谓)。然后创建成功!

ADMM框架的python库 python admin框架_python_07

然后进入管理员界面:

ADMM框架的python库 python admin框架_搜索_08


这就是原版界面(可以改中文显示,不用急。还有很多功能都可以调出来)。

2、使用admin以及配置相关页面功能

a、添加显示字段信息

ADMM框架的python库 python admin框架_后台管理_09


这就是书籍管理后台系统,但是显示的只有书名,能不能显示其它信息呢?比如我们想在红框位置显示出版日期等等之类的信息,可以配置:

我们可以自定制显示一些功能:还是在 admin.py 里面写:

ADMM框架的python库 python admin框架_后台管理_10


类名随便起,但是这个 list_display 是Django自带的功能,还有很多,比如:

ADMM框架的python库 python admin框架_python_11

这些后面再看。写完之后:

ADMM框架的python库 python admin框架_搜索_12


记住这个新加的类也要注册!然后结果:

ADMM框架的python库 python admin框架_字段_13

可以看到,多了很多字段显示!

甚至还有排序功能:

ADMM框架的python库 python admin框架_python_14

b、添加直接在页面修改数据的功能

如果我们有很多条记录,每条记录都要点击切换页面修改数据,就很麻烦,可以直接点击数据就直接修改吗?可以:

ADMM框架的python库 python admin框架_python_15

(这里是Linux系统的页面,博主看的视频里面的作者出了点问题,所以切换到这个系统来讲。)

ADMM框架的python库 python admin框架_python_16

此时就能看到,随时都能修改了。那我们想显示作者这个信息出来可以吗?

ADMM框架的python库 python admin框架_搜索_17


答案是不行的,因为这里的作者是多对多关系,系统不知道你关联了多少条信息,如果关联了几百上千条,就没法显示了。所以这里是不给你显示的。如果你就是想加,当然也可以自己加,但是就需要深入的配置了(以后再讲)。

c、添加…对多操作字段的便捷功能

此时我们来创建数据:

ADMM框架的python库 python admin框架_ADMM框架的python库_18


可以看到,作者这一块,有好几条可以选,因为这时多对多关系。如果作者有几千条,难道要一个一个选吗?这里同样还有其它操作:

ADMM框架的python库 python admin框架_后台管理_19


注意:这里括号里面的最后,要有逗号!接着看结果:

ADMM框架的python库 python admin框架_python_20

此时可以通过搜索来找到作者,还能全选,反选,需要的作者就放到右边,非常方便!

d、添加分页功能

如果页面很多数据,怎么分页呢?

ADMM框架的python库 python admin框架_字段_21


这个设置就是一页2条数据的意思:

ADMM框架的python库 python admin框架_搜索_22

e、添加搜索功能

同样的,我们可以加入搜索功能:

ADMM框架的python库 python admin框架_搜索_23

结果:

ADMM框架的python库 python admin框架_搜索_24


但是这里搜索会报错!因为添加的字段里面有 publish,关联到另外一张表了。所以要这么写:

ADMM框架的python库 python admin框架_字段_25

试着来搜索下:

ADMM框架的python库 python admin框架_后台管理_26


注意:因为字段有三个,所以这里搜索,会搜三遍,先是 id ,接着是 name,最后是publish。

f、添加过滤器

如果我们想要有个过滤器,比如只看日期,出版社之类的信息,可以这么做:

ADMM框架的python库 python admin框架_后台管理_27


然后结果:

ADMM框架的python库 python admin框架_python_28


点击右边的信息,就可以过滤出想要的信息了。(右边显示的是默认出来的,当然可以改,不过也是后面更高级的用法,以后再讲。)

3、设置中文界面

ADMM框架的python库 python admin框架_ADMM框架的python库_29

页面:

ADMM框架的python库 python admin框架_ADMM框架的python库_30


可以看到,都变成中文了,但是字段还是英文的,如果我们想要字段显示中文可以这么做:

ADMM框架的python库 python admin框架_python_31

4、管理员界面没有样式

有可能进入了这个后台管理系统,发现没有样式,试下这么解决:

下载的Django文件里,有个名字是 admin 的文件夹,里面有个 base.html 的文件:

ADMM框架的python库 python admin框架_ADMM框架的python库_32

把前面这个删掉,可能就可以了:

ADMM框架的python库 python admin框架_后台管理_33