장고를 사용하여 웹 사이트를 만들려고하고 있는데 로그인이 필요한 몇 가지보기가 있습니다. 그러나 사용자를 인증하는 방법을 알 수 없습니다. 나는 웹 개발에 새로운 경험이있다. (이것은 나의 첫번째 프로젝트이다.) 내가 명확하지 않다면 후속 질문을해라. rushsite/러시/views.py에서장고 앱에서 사용자를 인증 할 수 없습니다.
발췌 : 여기에 컨텍스트를 제공 할 수있는 몇 가지 코드는
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 :
from django.db import models
from django.contrib.auth.models import User
from django.core.validators import MaxValueValidator, MinValueValidator
class Brother(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
first_name = models.CharField(max_length=64)
last_name = models.CharField(max_length=64)
내가 알고있는 자격 증명을 사용하여 양식을 제출하면 사용자 = 없음이므로 나를 다시 로그인 페이지로 리디렉션합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
:에
는LoginView
자동으로 제공 형태, 템플릿에서<form>
를 사용감소 될 수있다 사용자. 그래도이게 무슨 뜻인지는 모르겠다. –
게시하고 있다고 생각하는 값이 실제로보기에 도착했는지 디버그 할 수 있습니까? – schwobaseggl