我試圖用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