django上下文处理器

时间:2023-03-08 16:58:39

上下文处理器(context processors)
上下文处理器是可以返回一些数据,在全局模板中都可以使用。比如登录后的用户信息,在很多页面中都需要使用,
那么我们可以放在上下文处理器中,就没有必要在每个视图函数中都返回这个对象
Django中的Context Processor主要是应用于模板,完成页面的绘制的一些处理,也就是所说的页面渲染

一,Django内置上下文处理器

创建项目时系统自动生成的上下文处理器

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
#自定义上下文处理器的位置
'supermarket.context_processor.get_daytime', ],
},
},
]

二 ,自定义上下文处理器

1.创建上下文处理器

需在项目目录创建context_processor.py

django上下文处理器

2将上下文处理器添加到模板

django上下文处理器

3。页面模板中使用

django上下文处理器