我试图用Django的缓存系统创建一个登录视图。这里是我到目前为止的代码:为什么不是这个登录视图的工作? (Django)
def login(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
username_exists = User.objects.filter(username=cd['username1'])
if username_exists.count() != 0:
username = username_exists[0]
if username.password == cd['password']:
currentuser = cd['username1']
request.session['loggedin'+currentuser] = True
return HttpResponseRedirect('/user/%' % currentuser)
else:
form = LoginForm(request.POST)
return render_to_response('login.html', {'form': form}, context_instance=RequestContext(request))
else:
form = LoginForm(request.POST)
return render_to_response('login.html', {'form': form}, context_instance=RequestContext(request))
else:
form = LoginForm(request.POST)
return render_to_response('login.html', {'form': form}, context_instance=RequestContext(request))
else:
form = LoginForm()
return render_to_response('login.html', {'form': form}, context_instance=RequestContext(request))
我使用的数据库
我的模型如下:
class User(models.Model):
username = models.CharField(max_length=15)
password = models.CharField(max_length=25)
这里的形式, “LoginForm的”:
class LoginForm(forms.Form):
username1 = forms.CharField(max_length=15, label="Username")
password = forms.CharField(max_length=25, widget=forms.PasswordInput, label="Password")
这里的一部分我正在使用的模板:
<h3>Login</h3>
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" value="Submit" style="margin-left:170px;margin-top:50px;">
</form>
而不是重定向到用户页面,视图只是刷新登录页面,表单信息仍然填充(request.POST)。
我对Django很陌生,所以如果我正在做一些非常愚蠢的事情,请提醒我。
感谢您的帮助。
这是'contrib.auth'中的用户模型还是您创建的用户模型? – czarchaic 2011-12-17 16:06:43