私はログインフォームを持っています。ログインボタンを押すと、投稿データがビューlogin_authに送信され、ユーザーデータを認証し、それに応じてリダイレクトされます。しかし、ログインボタンを押した後、私は適切なページにリダイレクトされていません。フォームデータをアクションURLに投稿できません
views.py
def login_successful(request):
return render(request,"login_successful.html")
def login_invalid(request):
return render(request,"login_invalid.html")
def login(request):
return render(request,'login.html',c)
def loginauth(request):
username=request.POST.get("username",'')
password=request.POST.get("password",'')
user=auth.authenticate(username=username,password=password)
if user is not none:
user.login(request.user)
return redirect(login_successful)
else:
return redirect(login_invalid)
urls.py
urlpatterns = [
url(r'^registration/',views.registration),
url(r'^registration_successful/',views.registration_successful),
url(r'^home/',views.home),
url(r'^login/',views.login),
url(r'^login_successful/',views.login_successful),
url(r'^login_invalid/',views.login_invalid),
url(r'^login/auth',views.loginauth)
]
login.htmlと
<html>
<form action="/login/auth" method="POST">{% csrf_token %}
Username :<input type="textbox" name="username" >
Password :<input type="password" name="password">
<input type="submit" value="Login">
</form>
</html>
おかげで、それが働いていたが、上で処理するのは珍しいです、なぜ私を教えてください可能性がありurls.py別のURL。セキュリティリスクはありますか? –
ログインフォームを別のURLに投稿する際のセキュリティ上のリスクはありません。通常、[django forms](https://docs.djangoproject.com/ja/1.9/topics/forms/)を使用します。テンプレート内にフォームを表示し、ビュー内でフォームを使用してデータを処理するので、同じビューを使用するのが理にかなっています。 – Alasdair