У меня проблема с Django MPTT с помощью django.contrib.auth.view.login View,Джанго MPTT завершаться auth.view.login View
В urls.py есть
(r'^accounts/login/$', django.contrib.auth.view.login),
и моя регистрация шаблон/login.html расширяет базовый шаблон-login.html:
{% extends "base.html" %}
Теперь я использую MPTT в base.html, как это:
{% load mptt_tags %}
<ul>
{% recursetree nodes %}
<li>
<a href="{% url someview node.id %}">{{ node.name }}</a>
{% if not node.is_leaf_node %}
<ul>
{{ children }}
</ul>
{% endif %}
</li>
{% endrecursetree %}
Однако, когда доступ к счетам/Войти Джанго жалуется:
TemplateSyntaxError at /accounts/login/
Caught VariableDoesNotExist while rendering: Failed lookup for key [nodes] in u"[{}
Template error
In template /home/user/djcode/project/templates/base.html, error at line 58
А на линии 58 на самом деле этот код {% recursetree nodes %}
Я не знаю, как я могу исправить this.I нет проблема с моими другими представлениями, только этот общий. Однако в других представлениях я также отправляю данные для навигации в словаре, в шаблон, но не знаю, как это сделать с общими представлениями. Все предложения?
Спасибо! Очень ценю подсказку, просто написал свой первый процессор контекста, и он отлично работает. Еще раз спасибо. – Zed
У меня есть еще один вопрос об этом материале для контекстного процессора. Однако после написания этого процессора все стало лучше, поэтому, на мой взгляд, мне нужно написать в качестве третьего аргумента context_instance = RequestContext (request) для render_to_response(), если я уже добавлен django.core.context_processors.request в TEMPLATE_CONTEXT_PROCESSORS tuple? – Zed
'RequestContext' - это то, что запускает контекстные процессоры в первую очередь - стандартный' render_to_response' не делает этого. Однако вместо этого вы можете использовать новый ['render' shortcut] (https://docs.djangoproject.com/en/1.4/topics/http/shortcuts/#render), который использует RequestContext внутри. –