[英]Allowing URL access only to logged-in users
我開始使用django框架,並創建了一個簡單的網站,用戶首先登錄,然后將其重定向到另一個頁面。
我嘗試在登錄之前輸入重定向頁面的URL,然后加載。 相反,我希望它重定向回登錄頁面(主頁)。
我嘗試檢查用戶是否經過身份驗證才能僅查看該頁面。 它寫在重定向頁面的views.py
文件中:
def index(request):
if request.user.is_authenticated():
return render(request, 'professors/index.html')
else:
return redirect('' % request)
professors/
是重定向頁面的URL ''
是登錄頁面(主頁)的URL 更新
views.py
:
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
# Create your views here.
@login_required
def index(request):
return render(request, 'professors/index.html')
urls.py
:
from django.urls import path
from . import views
urlpatterns = [
path(r'', views.index, name='index')
];
要將視圖限制為僅登錄的用戶,請使用django的登錄所需裝飾器
views.py
from django.contrib.auth.decorators import login_required
@login_required
def index(request):
return render(request, 'professors/index.html')
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index')
]
如果他們沒有登錄,他們將被重定向到您的登錄頁面
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.