我注意到django模板已经有一些变量传递给它,而不需要发送任何数据。例如,'user'变量可以在渲染时调用,而不需要发送任何'user'数据给模板。有没有什么地方可以找到这些“默认变量”的列表?
kdfy810k1#
TEMPLATE_CONTEXT_PROCESSORS设置默认包含以下值(在Django 1.6中):
TEMPLATE_CONTEXT_PROCESSORS
"django.contrib.auth.context_processors.auth", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", "django.core.context_processors.static", "django.core.context_processors.tz", "django.contrib.messages.context_processors.messages"
以上是上下文处理器的列表。上下文处理器是一个函数,它可以向传递给每个模板的上下文添加更多变量。例如,变量user加上"django.contrib.auth.context_processors.auth"。
user
"django.contrib.auth.context_processors.auth"
o2rvlv0m2#
Django自带了一个特殊的Context类django.template.RequestContext,它的行为与普通的django.template.Context略有不同。第一个区别是它将HttpRequest作为第一个参数。查看文档以获得更清晰的Idea。https://docs.djangoproject.com/en/1.6/ref/templates/api/#subclassing-context-requestcontext
ykejflvf3#
现在在Django 4.1中,默认的上下文处理器和模板变量在www.example.com上列出https://docs.djangoproject.com/en/4.1/ref/templates/api/#context-processors只是一个快速的参考:| 上下文处理器|变数|| --------------|--------------|| django.contrib.auth.context_processors.auth|用户烫发|| django.template.context_processors.debug| debugging sql_queries|| django.template.context_processors.i18n|语言语言_BIDI语言_代码|| django.template.context_processors.media|媒体_URL|| django.template.context_processors.static|静态URL|| django.template.context_processors.csrf|csrf_token|| django.template.context_processors.request|请求|| django.template.context_processors.tz|时区|| django.contrib.messages.context_processors.messages|信息DEFAULT_MESSAGE_LEVELS|
3条答案
按热度按时间kdfy810k1#
TEMPLATE_CONTEXT_PROCESSORS
设置默认包含以下值(在Django 1.6中):以上是上下文处理器的列表。上下文处理器是一个函数,它可以向传递给每个模板的上下文添加更多变量。
例如,变量
user
加上"django.contrib.auth.context_processors.auth"
。o2rvlv0m2#
Django自带了一个特殊的Context类django.template.RequestContext,它的行为与普通的django.template.Context略有不同。第一个区别是它将HttpRequest作为第一个参数。查看文档以获得更清晰的Idea。
https://docs.djangoproject.com/en/1.6/ref/templates/api/#subclassing-context-requestcontext
ykejflvf3#
现在在Django 4.1中,默认的上下文处理器和模板变量在www.example.com上列出https://docs.djangoproject.com/en/4.1/ref/templates/api/#context-processors
只是一个快速的参考:
| 上下文处理器|变数|
| --------------|--------------|
| django.contrib.auth.context_processors.auth|用户烫发|
| django.template.context_processors.debug| debugging sql_queries|
| django.template.context_processors.i18n|语言语言_BIDI语言_代码|
| django.template.context_processors.media|媒体_URL|
| django.template.context_processors.static|静态URL|
| django.template.context_processors.csrf|csrf_token|
| django.template.context_processors.request|请求|
| django.template.context_processors.tz|时区|
| django.contrib.messages.context_processors.messages|信息DEFAULT_MESSAGE_LEVELS|