我有一个简单的注册视图,它获取用户的凭据,创建用户并立即签入。这在我的本地开发服务器上完全正常,但在部署时,对authenticate
的调用似乎返回{ {1}}。令人讨厌的是,它似乎每次都不会发生。这是我的观看代码:
None
我发现这个other question我认为这是同样的问题,但从来没有经过验证的答案。
我有同样的感觉,这是一个数据库问题,我正在使用High Replication数据存储区并将def register_view( request ):
import django.contrib.auth as auth
if request.method == 'POST':
form = auth.forms.UserCreationForm( request.POST )
if form.is_valid():
username = request.POST.get( 'username', None )
password1 = request.POST.get( 'password1', None )
auth.models.User.objects.create_user( username=username, password=password1 )
user = auth.authenticate( username=username, password=password1 )
if user != None:
auth.login(request, user)
return HttpResponseRedirect( request.REQUEST.get( 'next', '/' ) )
else:
login_form = auth.forms.AuthenticationForm( data= { 'username': username, 'password': password1 } )
return render(request, 'login.html', { 'form': login_form } )
else:
return render(request, 'register.html', { 'form': form })
else:
form = auth.forms.UserCreationForm( error_class=BlogErrorList )
return render(request, 'register.html', { 'form': form } )
添加到我的数据库设置中,如here所述,但这没有任何区别。
任何可能导致此问题的想法?
- 编辑 -
我正在使用Django-nonrel 1.4和标准'HIGH_REPLICATION': True
系统。 django.contrib.auth
模型已创建here,身份验证后端会对用户here进行身份验证。
答案 0 :(得分:3)
您尚未显示用户的定义方式,以及您的身份验证代码如何找到用户。
如果您没有按键或祖先查询使用,那么您将遇到最终的一致性。
您应该阅读此https://developers.google.com/appengine/docs/python/datastore/structuring_for_strong_consistency