python - Django 错误:未定义名称“LOGIN_REDIRECT_URL”
问题描述
我试图在我的 Django 项目中利用 settings.py 文件中的全局变量LOGIN_REDIRECT_URL
来避免到处重复 URL。
在我的settings.py 中,我重新定义LOGIN_REDIRECT_URL
了:
LOGIN_REDIRECT_URL = "my_app_name:index"
我正在尝试LOGIN_REDIRECT_URL
在我login_view
的inviews.py中使用如下:
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: ...
但是,当我登录时,我收到以下错误消息:
名称“LOGIN_REDIRECT_URL”未定义
我考虑过从 settings.py 导入LOGIN_REDIRECT_URL
,但感觉不对,因为那里的其他变量不需要在任何地方导入。
我究竟做错了什么?
解决方案
您必须导入设置才能使用设置变量
from django.conf import settings
...
return HttpResponseRedirect(reverse(settings.LOGIN_REDIRECT_URL))
推荐阅读
- laravel - 拉拉维尔 | 编辑表格中的所有数据
- python - 如何根据另一个数据框的特定列的值更新数据框的多列中的值
- javascript - 如何同时使用 res.sendFile(); 和 res.send(); 在 Node.js 中?
- java - JVM - 为什么 YoungGen 在 gc 之间使用堆减少?
- kotlin - 如何序列化 kotlin 暴露的 sql dao
- javascript - 错误:将文件上传到服务器时流意外结束(反应本机 fs)
- ios - 想要将视图控制器添加到标签栏项目
- angular - 选择 mat-option 后角度更新 formControl 值
- php - 在 PHP 中将 MySQL 结果返回到 GraphQL
- php - 如何使用 PHP 从 Google Team Drive 中获取所有照片?