Moim zdaniem mogę wydrukować request.user.username, jednak w szablonie {{request.user.username}} nie ma zjawić się. Aby to ułatwić, usunąłem logikę z funkcji i zaimportowałem render_to_response & RequestContext.Django 1.4 - {{request.user.username}} nie wyświetla się w szablonie
from django.shortcuts import render_to_response
from django.template import RequestContext
@login_required
@csrf_protect
def form(request):
print request.user.username
data = {}
return render_to_response('form.html', data, context_instance=RequestContext(request))
Zgaduję, że mam problem z moim settings.py.
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'src',
)
Dzięki z góry za help-
Mogę przekazać obiekt użytkownika do szablonu, ale czy zalogowany użytkownik nie powinien być dostępny przez żądanie? Wygląda na to, że żądanie nie jest dostępne z szablonu, ale jest w widoku. – Emile
Dobrze interesujące. To prawda - zamiast {{request.user.username}} (używanego w poprzednich projektach) działa {{user.username}}. Dzięki za pomoc @tadeck! – Emile
Lepiej używać 'user.get_username' przez' user.username': https://docs.djangoproject.com/en/dev/ref/contrib/auth/#django.contrib.auth.models.User.get_username – Medorator