how to activate DJANGO.CORE.CONTEXT_PROCESSORS.REQ

2020-06-21 02:49发布

I read this

DJANGO.CORE.CONTEXT_PROCESSORS.REQUEST

If TEMPLATE_CONTEXT_PROCESSORS contains this processor, every RequestContext will contain a variable request, which is the current HttpRequest. Note that this processor is not enabled by default; you'll have to activate it.

from this page

But it seems there is no information how to activate this processor.

Here is my original question

Access request in django custom template tags

After i followed the answer

i still got errors

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'

the code causing problem is

request = context['request'] in

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}

2条回答
太酷不给撩
2楼-- · 2020-06-21 03:12

in settings.py

from django.conf import global_settings

TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
    'django.core.context_processors.request',
)
查看更多
▲ chillily
3楼-- · 2020-06-21 03:25

I answered this here: How can I pass data to any template from any view in Django?

Also see the comments on my answer... you might want that bit of info too.

查看更多
登录 后发表回答