簡體   English   中英

只允許登錄用戶訪問URL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM