后用户丢失首先,在所有的,我不得不说,我已经跟着几个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