Эта функция просмотра:
@login_required
def dashboard(request):
from myproject.myapp.models import UserProfile
k = UserProfile.objects.get( user=request.user.pk ).known
return render_to_response('dashboard.html', {'KNOWN': k, , context_instance=RequestContext(request))
Передачи на этот шаблон:
{% if user.is_authenticated %}
{{ user.username }}
{% else %}
Login link
{% endif %}
{{ KNOWN }}
- Я уже вошел в систему.
- Страница не перенаправляет наLOGIN_URL (поэтому @login_required думает, что я вошел в систему, я думаю)
- {{KNOWN}} прекрасно отрисовывается OK
- {{user.username}} не отображается
Как это возможно?Конечно, если login_required работает, и ему удалось получить KNOWN, следовательно, пользователь должен существовать где-то?
Как я могу отладить это?
: -)
ОБНОВЛЕНИЕ: Если я удаляю:
TEMPLATE_CONTEXT_PROCESSORS = ('django.core.context_processors.request',)
Из настроек, это работает.
Однако, удалив это, другие страницыкоторые используют {{request.get_full_path}} в шаблонах не загружаются.
Eeek.
ОБНОВЛЕНИЕ 2:
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.request",)
Если вы просто добавите строку запроса самостоятельно, она отключит все остальные, которые являются значениями по умолчанию.D'Oh!
ОБНОВЛЕНИЕ 3: Мысль, которая исправит это, к сожалению, все еще не работает.
ОБНОВЛЕНИЕ 4: Пятнистая опечатка в другом месте, может подтвердить, что ответ Марка Лавина исправил ее:)