Djangoを使用してWebサイトを作成しようとしていますが、ログインが必要なビューがいくつかあります。しかし、私はユーザーを認証する方法を把握することはできません。私はウェブ開発に非常に新しい(これは私の最初のプロジェクトです)ので、明確でない場合はフォローアップの質問をしてください。 rushsite /ラッシュ/ views.pyからDjangoアプリケーションでユーザーを認証できません
抜粋:ここではコンテキストを提供するかもしれないいくつかのコードがある
from django.http import HttpResponseRedirect
from django.contrib.auth import authenticate, login
from django.contrib.auth.decorators import login_required
def login_user(request):
if request.method == "POST":
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
return HttpResponseRedirect('list')
else:
return render(request, "registration/login.html")
else:
return render(request, "registration/login.html")
マイlogin.htmlとファイル:rushsite /ラッシュ/モデルから
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
<div class="container">
<div class="top">
<h1 id="title" class="hidden"><span id="logo">Delta Sig<span> Recruitment</span></span></h1>
</div>
<div class="login-box animated fadeInUp">
<div class="box-header">
<h2>Log In</h2>
</div>
<form method="post">
{% csrf_token %}
<label for="username">Username</label>
<br/>
<input type="text" id="username">
<br/>
<label for="password">Password</label>
<br/>
<input type="password" id="password">
<br/>
<button type="submit">Sign In</button>
<br/>
<br/>
{% if request.META.HTTP_REFERER == "http://127.0.0.1:8000/login/" %} Incorrect username or password. {% endif %}
</form>
</div>
</div>
</body>
抜粋.py:
私が知っている資格情報を使って自分のフォームでsubmitをクリックすると、user = None so私はちょうどログインページに戻って私をリダイレクトします。私は間違って何をしていますか?
私はそれが私がOneToOneFieldさブラザーモデルを持っているという事実としなければならないかもしれないと思いますユーザー。しかし、私はこれがどういう意味かはっきりしていません。 –
投稿していると思われる値が実際にビューに到着していることをデバッグできますか? – schwobaseggl