Django의 authenticate 및 login 모듈
인증된 사용자 이름과 비밀번호는 authenticate () 함수를 사용합니다.이것은 사용자 이름username과 비밀번호password 두 개의 매개 변수를 받아들이고, 주어진 사용자 이름이 합법적인 상황에서 User 대상을 되돌려줍니다.암호가 올바르지 않으면 authenticate()가 None으로 돌아갑니다.
>>> from django.contrib import auth
>>> user = auth.authenticate(username='john', password='secret')
>>> if user is not None:
... print "Correct!"
... else:
... print "Invalid password."
로그인 및 검증
authenticate () 는 사용자의 인증서를 검증할 뿐입니다.한 사용자에게 로그인하려면login () 을 사용하십시오.이 함수는 HttpRequest 개체와 User 개체를 매개 변수로 받아들여 Django의 세션 (session) 프레임워크를 사용하여 사용자의 ID를 세션에 저장합니다.
다음 예에서는 한 뷰에서 authenticate ()와 login () 함수를 모두 사용하는 방법을 보여 줍니다.
from django.contrib import auth
def login_view(request):
username = request.POST.get('username', '')
password = request.POST.get('password', '')
user = auth.authenticate(username=username, password=password)
if user is not None and user.is_active:
# Correct password, and the user is marked "active"
auth.login(request, user)
# Redirect to a success page.
return HttpResponseRedirect("/account/loggedin/")
else:
# Show an error page
return HttpResponseRedirect("/account/invalid/")
여기서 재미있는 것은
user.is_active
사용자 이름 비밀번호가 유효한지 판단하는 데 쓰인다.사용자 로그아웃
사용자를 로그아웃하고 보기에서 사용하십시오
django.contrib.auth.logout()
.이것은 HttpRequest 대상을 받아들이고 값을 되돌려 주지 않기 때문에 값을 되돌려 주지 않기 때문에 페이지를 되돌려야 합니다.from django.contrib import auth
def logout_view(request):
auth.logout(request)
# Redirect to a success page.
return HttpResponseRedirect("/account/loggedout/")
주의해야 할 것은 사용자가 로그인하지 않아도 logout () 는 어떠한 이상도 던지지 않습니다.
Django에서 일반 로그인 및 종료 함수 사용
실제에서 당신은 일반적으로 로그인/로그인 함수를 직접 쓸 필요가 없다.인증 시스템은 로그인과 로그인을 처리하는 데 사용되는 예시적인 보기를 제공합니다.인증 보기를 사용하는 첫 번째 단계는 URL conf에 기록하는 것입니다.너는 이렇게 써야 한다.
from django.contrib.auth.views import login, logout
urlpatterns = patterns('',
# existing patterns here...
(r'^accounts/login/$', login),
(r'^accounts/logout/$', logout),
)
/accounts/login/
및 /accounts/logout/
는 Django에서 제공하는 뷰의 기본 URL입니다.로그인 페이지 쓰기
생략된 경우,login 보기는registragiton/login을 렌더링합니다.html 템플릿 (보기의 추가 매개 변수인template name을 통해 이 템플릿 이름을 수정할 수 있습니다).이 폼은username과password역을 포함해야 합니다.다음과 같은 예: 간단한template는 보기에 이렇다
{% extends "base.html" %}
{% block content %}
{% if form.errors %}
Sorry, that's not a valid username or password
{% endif %}
{% endblock %}
사용자가 로그인에 성공하면 기본값은 로 리디렉션됩니다
/accounts/profile
.로그인 후 URL을 다시 지정하는next 숨김 영역을 저장해서 다시 불러올 수 있습니다.보기 함수에 값을 GET 매개 변수로 보낼 수도 있습니다. 변수next 형식으로 상하문에 저장됩니다. 그러면 숨겨진 영역에 사용할 수 있습니다.logout 보기가 좀 다릅니다.기본적으로 템플릿
registration/logged_out.html
을 렌더링합니다. (이 보기는 성공적으로 종료한 정보를 포함합니다.)보기에는 인자next 도 포함할 수 있습니다페이지는 종료 후 방향을 바꾸는 데 사용됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.