django之上下文处理器

本文介绍了Django上下文处理器的概念,它用于为每个模板提供相同变量。通过自定义上下文处理器示例,展示了如何在不需每个视图函数单独传递的情况下,确保每个页面都能访问到如用户名等通用变量。此外,还探讨了中间件和上下文处理器的区别,中间件在用户请求到响应的过程中添加额外逻辑,而上下文处理器则是全局地向模板注入变量。
摘要由CSDN通过智能技术生成

概念:

在模板中想要使用的变量是从视图函数中的context这个上下文的参数中传递进来的,每个视图函数需要什么参数就传什么参数.

上下文处理器就是创建模板变量.

在settings.py中,包含了当前使用的上下文处理器。他的作用是可以给每一个模板都提供相同的变量
在这里插入图片描述

2-自定义上下文处理器例子

比如说访问每个页面的话 都需要用到变量用户名, 那么我们也可以把这个变量在上下文处理器中将变量传给模板

1.在主目录下创建了一个.py的文件.
2.在.py的文件中创建一个MyGlobal的函数
3.必须传入request这个参数
4.必须返回一个字典类型的对象.

def MyGlobal(request):
    username = request.session.get("username", "未登录")#定义全局变量
    return {
   'username':username} #返回字典形式

def f(request):
    """
    按照要求实现功能
    :param request:
    :return:
    """
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值