簡體   English   中英

@login_required 裝飾器不起作用(Django)

[英]@login_required decorator is not working (Django)

我正在嘗試建立一個類似社交媒體的東西,並創建了登錄和注冊功能。 對於主頁,我添加了 login_required 裝飾器,甚至在 settings.py 中添加了 LOGIN_URL 但我仍然可以在不登錄的情況下訪問主頁,即 login_required 裝飾器沒有完成它的工作。 這是我的看法 function 代碼

@login_required
def home(request):
return render(request, 'home/home.html')

這是我在 settings.py 中的代碼

LOGIN_URL = '/login'

urls.py 的內容(帳戶應用程序)

urlpatterns = [
path('login/', views.login_view, name="login"),
path('create/', views.create_view, name="create",),
]

urls.py 的內容(家庭應用程序)

urlpatterns = [
path('', views.welcome, name="welcome"),
path('home/', views.home, name="home"),
]

誰能找出可能是什么問題?

  1. 確保您已導入它: from django.contrib.auth.decorators import login_required

  2. 嘗試添加: LOGIN_REDIRECT_URL

  3. 試試: @login_required(login_url='login')

問題是我還沒有創建注銷 function。 因此,該帳戶已登錄,這就是所需登錄不起作用的原因。 這很簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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