[英]Django error: name 'LOGIN_REDIRECT_URL' is not defined
I am trying to take advantage of the global variable LOGIN_REDIRECT_URL
in the settings.py file in my Django project to avoid duplicating URLs everywhere.我试图利用我的 Django 项目中settings.py文件中的全局变量LOGIN_REDIRECT_URL
来避免在任何地方复制 URL。
In my settings.py I have redefined LOGIN_REDIRECT_URL
like so:在我的settings.py 中,我重新定义了LOGIN_REDIRECT_URL
如下所示:
LOGIN_REDIRECT_URL = "my_app_name:index"
I am trying to use LOGIN_REDIRECT_URL
in my login_view
in views.py as follows:我正在尝试在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: ...
However, when I log in I get the following error message:但是,当我登录时,我收到以下错误消息:
name 'LOGIN_REDIRECT_URL' is not defined名称 'LOGIN_REDIRECT_URL' 未定义
I thought about importing LOGIN_REDIRECT_URL
from settings.py but that feels wrong since other variables from there do not need to be imported anywhere.我想过从settings.py导入LOGIN_REDIRECT_URL
但这感觉不对,因为那里的其他变量不需要在任何地方导入。
What am I doing wrong?我究竟做错了什么?
You have to import the settings to use settings variables您必须导入设置才能使用设置变量
from django.conf import settings
...
return HttpResponseRedirect(reverse(settings.LOGIN_REDIRECT_URL))
您需要导入设置才能使用 LOGIN_REDIRECT_URL
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.