로그인한 사용자의 액세스 제한 사항
다음은 이메일을 작성한 사용자만 이 페이지에 접근할 수 있도록 제한하는 실례입니다.
from django.shortcuts import render
from django.http import HttpResponse
from django.contrib.auth.decorators import user_passes_test
def email_check(user):
return user.email
@user_passes_test(email_check, login_url='no_email')
def test(request):
return HttpResponse(' !')
def no_email(request):
return HttpResponse(' !')
이메일을 작성하지 않은 사용자가 액세스하는 경우:http://127.0.0.1:8000/test/다음 위치로 이동합니다.http://127.0.0.1:8000/no_email/?next=/test/
user_passes_test () 는 사용자가 이 보기에 접근할 수 있으면 True를 반환하는 User 객체를 매개 변수로 하는 콜백 함수를 요구합니다.
주의,user_passes_test()는 User가 익명 객체인지 여부를 자동으로 검사하지 않습니다.
user_passes_test()에 대한 추가 매개변수:
우리는 상례의 장식기를 다음과 같이 바꾸었다.
@user_passes_test(email_check, login_url='no_email', redirect_field_name=None)
뛰면 안 나온다고요?next=의 문자는 다음과 같습니다.http://127.0.0.1:8000/no_email/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.