後用戶丟失首先,在所有的,我不得不說,我已經跟着幾個SO答案(this和this),但我還沒有解決我的問題。Django的註冊,登錄
那麼,我使用django.contrib.auth.views.login
(工作正常)通過django註冊,我已經在登錄表單中設置next="/home_page/"
參數。 asociated到/home_page/
的觀點是excuted,其回報是這樣的:
return render_to_response('myapp/shop_list.html',
{'shop': entry_list,},
context_instance=RequestContext(request))
我沒有渲染的登錄名和這個觀點,但之間的任何其他模板,在調試時,我意識到,User
不是在請求在此之前,所以模板接收AnonymousUser
和user.is_authenticated()
返回False
用戶在DDBB和密碼是正確的。我現在如何獲得登錄的用戶?
以下是有關我的應用程序的某些信息可能會有所幫助:
真的,存儲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',
)
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.contrib.messages.context_processors.messages',
'django.core.context_processors.request',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'myapp',
'registration',
'django.contrib.admin',
)
login.html
==========
{% block maincontent %}
<form method="post" action="">{% csrf_token %}
{{form.as_p}}
<input name="next" type="hidden" value="/home_page/" />
<input type="submit" value="Login">
</form>
{% endblock %}
link to login
=============
<a href="{% url django.contrib.auth.views.login %}">Login</a>
在您調用login()之後,您會收到用戶的有效實例嗎? – Sid 2012-03-06 14:53:37
調試django.contrib.auth.views.login我看到如何正確登錄後創建用戶實例,但它在home_page視圖中缺少。 – juankysmith 2012-03-06 15:22:13
我沒有看到任何明顯的錯誤,你在做什麼。也許粘貼你的整個views.py,這可能會提供一個線索。也可以嘗試在你的/ home_page視圖中放入@login_required(雖然這不應該是必需的,因爲你在登錄後重定向) – Sid 2012-03-06 15:33:30