django 사용자 로그인, 데모 종료
3250 단어 django
login의templates 디렉터리에 두 개의 템플릿을 만듭니다. 각각login입니다.html 및 index.html, 사용자가 로그인하지 않았을 때login으로 이동합니다.html 페이지, 로그인 성공 또는 로그인 상태, index로 이동.html.
url의 설정 내용은 다음과 같습니다:
from django.conf.urls import url, include
from users.views import LoginView,LogoutView
urlpatterns = [
url(r'^login/$', LoginView.as_view(), name='login'),
#
url(r'^logout/$', LogoutView.as_view(), name='logout'),
]
두 개의 설정은 두 개의 접근 가능한 URL을 공동으로 정의합니다.
http://ip:port/login/
http://ip:port/logout/
두 페이지를 보면 간단하면서도 아름답지 않은데 주로 기능을 설명하기 위해서다.login.html은 다음과 같습니다.
Django의 템플릿이 사용되었습니다. {% url%} url 설정의name 파라미터를 통해 역방향으로 해석하는 데 사용됩니다. 이 예는 다음과 같습니다.http://ip:port/login/.{{...}}템플릿에 렌더를 비추는 매개 변수, 다음views.py에서 대응하는 코드를 볼 수 있습니다.그 다음은 홈.html
,{{ username }}
forms :from django import forms
class LoginForm(forms.Form):
username = forms.CharField(required=True)
password = forms.CharField(required=True, min_length=5)
login/views.py import
from django.contrib.auth import authenticate, login, logout
from .forms import LoginForm,
#
class LoginView(View):
def get(self, request):
return render(request, 'login.html')
def post(self, request):
login_form = LoginForm(request.POST)
if login_form.is_valid():
user_name = request.POST.get('username', '')
password = request.POST.get('password', '')
# authenticate return user
user = authenticate(username=user_name, password=password)
if user is not None:
if user.is_active: # (is_active )
login(request, user)
return HttpResponsePermanentRedirect(reverse('index')) #
return render(request, 'login.html', {'msg': ' !'})
return render(request, 'login.html', {'msg': ' !'})
return render(request, 'login.html', {'form_errors': login_form.errors})
#
class LogoutView(View):
def get(self, request):
logout(request)
return HttpResponsePermanentRedirect(reverse('login'))
LoginView login , , authenticate , , , login , , login.html 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.