5

我读了这个

DJANGO.CORE.CONTEXT_PROCESSORS.REQUEST

如果TEMPLATE_CONTEXT_PROCESSORS包含这个处理器,那么每个 RequestContext 都会包含一个变量 request,也就是当前的 HttpRequest。请注意,默认情况下不启用此处理器;你必须激活它。

这个页面

但似乎没有关于如何激活此处理器的信息。

这是我原来的问题

django自定义模板标签中的访问请求

在我遵循答案之后

我仍然有错误

TemplateSyntaxError at / Caught an exception while rendering: 'request' Original Traceback (most recent call last): 
File "C:\Python25\lib\site-packages\django\template\debug.py", line 71, in render_node result = node.render(context) 
File "C:\Python25\lib\site-packages\django\template__init__.py", line 936, in render dict = func(*args)
 File "c:\...\myapp_extras.py", line 7, in login request = context['request'] 
File "C:\Python25\lib\site-packages\django\template\context.py", line 44, in getitem raise KeyError(key) KeyError: 'request'

导致问题的代码是

请求 = 上下文 ['请求']

from django import template

register = template.Library()


@register.inclusion_tag('userinfo.html',takes_context = True)
def userinfo(context):
 request = context['request']
 address = request.session['address']
 return {'address':address}
4

2 回答 2

2

我在这里回答了这个问题:如何从 Django 中的任何视图将数据传递给任何模板?

另请参阅我的答案的评论......您可能也需要这些信息。

于 2010-02-04T19:00:24.837 回答
2

在 settings.py

from django.conf import global_settings

TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
    'django.core.context_processors.request',
)
于 2013-08-15T14:21:51.837 回答