【发布时间】:2021-06-03 13:28:37
【问题描述】:
我正在使用以下上下文处理器将上下文传递给我的所有页面,除非用户未登录,在这种情况下它会将他带到登录页面:
from django.conf import settings
from .models import foo
from django.shortcuts import redirect
def globalVar(request):
if not request.session.get('user_id') is None:
return {"foo": foo}
else:
return redirect('login')
但是重定向会导致我没有找到修复的异常:
ValueError: dictionary update sequence element #0 has length 0; 2 is required
我没有找对地方,还是有办法用其他东西代替重定向?
【问题讨论】:
-
我 99% 确定问题出在
url或path中的名称参数中 -
您可能会将
name作为位置参数传递到context的位置,在您拥有的urlpattern 中使用name='login',它应该可以正常工作。 -
你的意思是用
'name='login'替换'login'?
标签: python django django-context