我想建立一个简单的登录页面为我的项目
问题描述:
def login(request):
c = {}
c.update(csrf(request))
return render_to_response(request,
'login.html', c)
def auth_view(request):
username = request.POST.get
('username', '')
password = request.POST.get
('password', '')
user = auth.authenticate
(username = username, password =
password)
if user is not None:
auth.login(request,user)
if request.method == 'POST':
return HttpResponseRedirect('accounts/loggedin/')
else:
Return HttpResponseRedirect('accounts/invalid/')
每else语句执行的时间......我不知道什么是错 ..... 在我的登录页面,当我输入登录惠特其正确的细节与否它总是重定向到“账号/无效”我想建立一个简单的登录页面为我的项目
答
你的逻辑是不好的,如果用户不无:改用如果user.is_anonymous:
试试我的逻辑
def login(request): c = {} c.update(csrf(request)) return render_to_response(request, 'login.html', c)
def auth_view(request): username = request.POST.get ('username', '') password = request.POST.get ('password', '') user = auth.authenticate (username = username, password = password) if user.is_anonymous: auth.login(request,user) if request.method == 'POST': return HttpResponseRedirect('accounts/loggedin/') else: return HttpResponseRedirect('accounts/invalid/')
注意:你的回报是在帽
现在,它应该工作。尝试一下!!
答
而不是使用HttpResponseRedirect
使用render
def something(request):
if something:
do something()
if something == 'POST':
return render(request, 'accounts/loggedin.html')
else:
return render(requset, 'accounts/invalid.html')
的这是关系到你的[其它问题](http://*.com/q/38258935/1324033)? – Sayse
1)这是你老问题的一个骗局,2)给我们一些细节。什么错误?什么不受欢迎的影响 – Li357
每次如果request.method =='POST'已被忽略else语句执行每次whenevr我已输入登录详细信息它重定向到'帐户/无效/'是否详细r r corrct或不 –