I read this
DJANGO.CORE.CONTEXT_PROCESSORS.REQUEST
If
TEMPLATE_CONTEXT_PROCESSORS
contains this processor开发者_如何学Python, 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}
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.
in settings.py
from django.conf import global_settings
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
'django.core.context_processors.request',
)
精彩评论