[英]login_required not working django even after cache clear
我希望用戶注銷后不要回頭。 我在views.py中定義注銷視圖之前使用了login_required(login_url = "/login/")
。 退出后,我仍然可以導航回去。 如何要求用戶重新登錄? 另外,如果我直接在瀏覽器中輸入主頁的URL(例如localhost:8000 / home),則無需登錄即可訪問該頁面。 我該如何解決這個問題?
我也清除了瀏覽器緩存,仍然沒有用。
我的views.py:
from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.contrib import auth
from django.views.decorators import csrf
from django.contrib.auth.decorators import login_required
def login(request):
c={}
# c.update(csrf(request))
return render(request,'login.html',c)
def auth_view(request):
username = request.POST.get('username','')
password = request.POST.get('password','')
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
return HttpResponseRedirect('/home')
@login_required(login_url='/login/')
def logout(request):
request.session.flush()
auth.logout(request)
return render(request,'logout.html')
如果要通過登錄保護主頁或其他頁面,則應使用login_required裝飾器對其進行裝飾。 例如,
@login_required(login_url='/login/')
def home(request):
# Your code goes here
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.