Создание простого приложения с использованием GAE / Django-nonrel (я не думаю, что проблема связана с GAE или нерелевским форком, наиболее похожим на PEBKAC как python / django noob и может возникнуть при базовой установке django).
Я использую django.contrib.auth для аутентификации.
В settings.py
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', )
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.request', )
Я создал суперпользователя с manage.py
У меня естьполучил в шаблонах base.html, который используется в других приложениях {% extends 'base.html'%}
{% if user.is_authenticated %}
Hello {{ user.username }}
[<a href="{% url django.contrib.auth.views.logout %}">sign out</a>]
{% else %}
[<a href="{% url django.contrib.auth.views.login %}">sign in</a>]
{% endif %}
и в urls.py стандартный материал аутентификации (из django.contrib.auth.formsimport AuthenticationForm и т. д.).
Проблема заключается в том, что я могу успешно пройти аутентификацию, проверка имени пользователя / пароля работает (невозможно использовать неверный user / pwd), и я прошел аутентификацию на страницах администратора - но не на других страницах- или скорее я, но пользователь - ноль (нет).
Я думаю, что " django.contrib.auth.context_processors.auth " - это магия, которая делает это, но это настройкав settings.py как показано выше.
Есть ли какие-нибудь советы о том, как отследить эту проблему?
РЕДАКТИРОВАТЬ (расширение на ответ Дэниелса, поскольку не может выполнять форматирование кода в комментариях)
в views.pyУ меня было: -
def detail(request):
obj = get_object_or_404(MyModel, pk=some_id)
return render_to_response('myapp/index.html', {'MyModel': obj})
Должно было быть
return render_to_response('myapp/index.html', {'MyModel': obj}, RequestContent(request))