Я пытаюсь создать пользовательский процессор контекста, который представит список пунктов меню для зарегистрированного пользователя. Я сделал следующее:
В моем settings.py я имею
TEMPLATE_CONTEXT_PROCESSOR = ( 'django.contrib.auth.context_processors.auth', 'mysite.accounts.context_processors.user_menu', )
Под подмодулем учетных записей я имею context_processors.py
со следующим, на данный момент:
def user_menu(request): return {'user_menu':'Hello World'}
На моей шаблонной странице у меня есть следующее:
{% if user.is_authenticated %} Menu {{user_menu}} {% endif %}
Представление вызова следующие:
def profile(request): return render_to_response('accounts/profile.html',context_instance=RequestContext(request))
Однако я не могу добраться {{user_menu}}
для рендеринга чего-либо на странице я знаю, что пользователь аутентифицируется как другие разделы шаблона с подобным рендерингом проверок правильно. Я пропускаю что-то здесь. Помогите Спасибо
Править: Спасибо Ben, Daniel, я зафиксировал (S) в TEMPLATE_CONTEXT_PROCESSOR
, однако Django теперь испытывает затруднения при разрешении модуля, и я получаю следующее сообщение
Error importing request processor module django.contrib.auth.context_processors: "No module named context_processors"
ОБНОВЛЕНИЕ: Я зафиксировал его путем изменения пути к django.core.context_processors.auth
Кажется, что модули были перемещены
Имя параметра должно быть TEMPLATE_CONTEXT_PROCESSORS
с S.