как активировать DJANGO.CORE.CONTEXT_PROCESSORS.REQUEST - PullRequest
4 голосов
/ 04 февраля 2010

Я прочитал это

"DJANGO.CORE.CONTEXT_PROCESSORS.REQUEST Если TEMPLATE_CONTEXT_PROCESSORS содержит этот процессор, каждый RequestContext будет содержать переменную запроса, который является текущим HttpRequest. Обратите внимание, что этот процессор не включен по умолчанию; вам придется активировать его. "с этой страницы

http://docs.djangoproject.com/en/dev/ref/templates/api/

Но, похоже, нет информации, как активировать этот процессор.

Вот мой оригинальный вопрос

Запрос доступа в тегах пользовательских шаблонов 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'

код, вызывающий проблему:

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 голосов
/ 15 августа 2013

в settings.py

from django.conf import global_settings

TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
    'django.core.context_processors.request',
)
2 голосов
/ 04 февраля 2010

Я ответил здесь: Как передать данные в любой шаблон из любого представления в Django?

Также смотрите комментарии к моему ответу ... вам может понадобиться и эта информация.

...