Django error: name 'LOGIN_REDIRECT_URL' is not defined
Django error: name 'LOGIN_REDIRECT_URL' is not defined
我正在尝试利用我的 Django 项目中 settings.py 文件中的全局变量 LOGIN_REDIRECT_URL
来避免到处重复 URL。
在我的 settings.py 中,我重新定义了 LOGIN_REDIRECT_URL
,如下所示:
LOGIN_REDIRECT_URL = "my_app_name:index"
我正在尝试在 views.py 中的 login_view
中使用 LOGIN_REDIRECT_URL
,如下所示:
def login_view(request):
form = LoginForm(data=request.POST)
if form.is_valid():
username = form.cleaned_data["username"]
password = form.cleaned_data["password"]
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return HttpResponseRedirect(reverse(LOGIN_REDIRECT_URL))
else: ...
但是,当我登录时收到以下错误消息:
name 'LOGIN_REDIRECT_URL' is not defined
我考虑过从 settings.py 导入 LOGIN_REDIRECT_URL
但感觉不对,因为那里的其他变量不需要导入任何地方。
我做错了什么?
您必须导入设置才能使用设置变量
<b>from django.conf import settings</b>
...
return HttpResponseRedirect(reverse(<b>settings.LOGIN_REDIRECT_URL</b>))
您需要导入设置才能使用 LOGIN_REDIRECT_URL
我正在尝试利用我的 Django 项目中 settings.py 文件中的全局变量 LOGIN_REDIRECT_URL
来避免到处重复 URL。
在我的 settings.py 中,我重新定义了 LOGIN_REDIRECT_URL
,如下所示:
LOGIN_REDIRECT_URL = "my_app_name:index"
我正在尝试在 views.py 中的 login_view
中使用 LOGIN_REDIRECT_URL
,如下所示:
def login_view(request):
form = LoginForm(data=request.POST)
if form.is_valid():
username = form.cleaned_data["username"]
password = form.cleaned_data["password"]
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return HttpResponseRedirect(reverse(LOGIN_REDIRECT_URL))
else: ...
但是,当我登录时收到以下错误消息:
name 'LOGIN_REDIRECT_URL' is not defined
我考虑过从 settings.py 导入 LOGIN_REDIRECT_URL
但感觉不对,因为那里的其他变量不需要导入任何地方。
我做错了什么?
您必须导入设置才能使用设置变量
<b>from django.conf import settings</b>
...
return HttpResponseRedirect(reverse(<b>settings.LOGIN_REDIRECT_URL</b>))
您需要导入设置才能使用 LOGIN_REDIRECT_URL