簡體   English   中英

即使清除緩存后,login_required也無法正常工作

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

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