上下文处理器(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
2将上下文处理器添加到模板
3。页面模板中使用