Django 中间键和上下文处理器的使用(内附python学习资料分享)

这篇文章主要介绍了Django 中间键和上下文处理器的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一、中间键的引入:

Django中间件(Middleware)是一个 轻量级、底层的 “插件”系 统,可以介入 Django的请求和响应处理过程, 修改 Django的输入或输出.

django中的中间键:

django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。

在 django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件.

自定义中间键文件可以放在改项目的任意可以导入的地方 (一般放在 app根目录里面)

一个中间键就是一个可调用的对象,他会接收一个 request并返回一个请求

自定义一个中间键可以是一个函数:

Django 中间键和上下文处理器的使用(内附python学习资料分享)

激活(注册)中间键:在 setttings.py 文件里的 MIDDLEWARE 列表里添加自定义的中间键工厂 全路径(到中间键工厂;添加到最后)

例子:定义一个只能让谷歌浏览器访问的网站

Django 中间键和上下文处理器的使用(内附python学习资料分享)

自定义一个中间键也可以是一个类:(这个的实例可以被调用)

Django 中间键和上下文处理器的使用(内附python学习资料分享)

激活(注册)中间键:在 setttings.py 文件里的 MIDDLEWARE 列表里添加自定义的中间键工厂 全路径(到中间键工厂;添加到最后)

请求和响应顺序:

按照 settings.py 文件 中的 MIDDLEWARE 列表顺序来的;请求的时候从前往后(从第一个到最后一个);响应的时候从后往前(从最后一个到第一个)

Django 中间键和上下文处理器的使用(内附python学习资料分享)

二、上下文处理器:

所有页面都需要特定变量

自定义上下文处理器也可以放在该项目的任意可以导入的地方(一般放在 app根目录里面)

自定义上下文处理器也可以是一个函数:

Django 中间键和上下文处理器的使用(内附python学习资料分享)

激活(注册):在 settings.py 文件里的 TEMPLATES 中的 OPTIONS 中的 'context_processors' 里面添加自定义的上下文处理器的全路径(添加到最后)

Django 中间键和上下文处理器的使用(内附python学习资料分享)

注意: 如果在视图( views)中有相同的 key 被传入,那么将会使用 该 views 中的key

中间键和上下文总结:

中间件是在用户请求到响应的过程中去加入一些额外的逻辑功能

上下文是给所有的模板增加变量

三、 django admin后台:

配置 admin.py 文件:

Django 中间键和上下文处理器的使用(内附python学习资料分享)

创建超级管理员:(命令行在项目根目录输入)

python manage.py createsuperuser

需要:用户名;邮箱;密码

配置 url:(默认是配置好的)

Django 中间键和上下文处理器的使用(内附python学习资料分享)

进入 django后台:

浏览器输入: ip:端口/admin

输入刚刚新建的用户名,密码

设置中文和中国时间:

在 settings.py 文件里设置:

Django 中间键和上下文处理器的使用(内附python学习资料分享)

自定义管理页面:

Django提供了admin.ModelAdmin类

通过定义 ModelAdmin的子类,来定义模型在Admin界面的显示方式

列表页属性:

list_display:显示字段,可以点击列头进行排序;等于一个列表;

list_display_links:点击该字段可以进入编辑页,可以写多个;等于一个列表

list_filter:过滤字段,过滤框会出现在右侧;等于一个列表;

search_fields:搜索字段,搜索框会出现在上侧;等于一个列表;

list_per_page:分页,分页框会出现在下侧;等于一个整数(页数)

添加、修改页属性:

fields:属性的先后顺序;等于一个列表

fieldsets:属性分组;等于一个列表

注意:上面两个属性,二者选一。

注册的时候需要把它的管理类一起注册进去

Django 中间键和上下文处理器的使用(内附python学习资料分享)

最后,想学习Python的小伙伴们!

请关注+私信回复:“学习”就可以拿到一份我为大家准备的Python学习资料!

Django 中间键和上下文处理器的使用(内附python学习资料分享)

pytyhon学习资料

Django 中间键和上下文处理器的使用(内附python学习资料分享)

python学习资料

相关推荐