我使用了一個裝飾器:
def check_login(func):
'''提供重定向登錄的功能'''
def wrapper(self, request, *args, **kwargs):
# 利用session判斷客戶端的登錄狀態
if request.session.get('is_login', False):
return func(self, request, *args, **kwargs)
else:
# 未登錄
next = request.get_full_path() # 把當前訪問的 url 傳遞給 /login/
res = redirect('/login/?next=' + next)
return res
return wrapper
然后在登錄視圖中使用 next 這個引數:
class LoginView(View):
def get(self, request):
...
def post(self, reuqest):
...
# 回傳用戶點擊的界面
next = request.GET.get('next', '/')
# 重定向頁面
return redirect(next)
用 pycharm 也查看了每次跳轉后的值,發現這個 next 一直拿不到,然后登錄時的地址欄是這樣:

然后 debug 除錯時是這樣:

為什么得不到這個 GET 里的 next 引數呢?真的不知道哪里錯了,百度也找不到有類似的答案,求各位大神解答
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/236211.html
上一篇:etree的下xpath為什么定位不了這個標簽,但是selenium和scrapy中的xpath都能定位到?
下一篇:openmv超聲波測距
