私は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))
私のモデルは以下の通りです:ここでは、フォーム、 "LoginForm" だ
class User(models.Model):
username = models.CharField(max_length=15)
password = models.CharField(max_length=25)
:ここ
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'または作成したUserモデルのUserモデルですか? – czarchaic