django의 자체 장식기나 중간부품으로 강제 로그인을 간단하게 수행합니다
7006 단어 django
# 1. html
def login(request):
return render(request, 'portal/login.html')
# 2. url
path('login/', views.login, name='portal-login'),
# 3. views
#
from django.contrib.auth.decorators import login_required
# ,
from django.utils.decorators import method_decorator
#
#
@login_required(redirect_field_name="portal-login")
def belt_and_road(request):
return render(request, 'portal/belt_and_road.html')
#
@method_decorator(login_required, name='dispatch')
class ResourceListView(ListView):
context_object_name = 'specimen'
def get_queryset(self):
self.keyword = self.request.GET.get('keyword', '')
if len(self.keyword) != 0:
return Specimen.objects.filter(
Q(chinesename__contains=self.keyword) | Q(scientificname__contains=self.keyword) | Q(
canonicalname__contains=self.keyword) | Q(family__contains=self.keyword) | Q(
genus__contains=self.keyword)).order_by("id")
return Specimen.objects.all()
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['keyword'] = self.keyword
return context
이렇게 하면 강제 로그인이 된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.