django - Python Django request.GET.get('usernname') 总是返回 'None'
问题描述
视图.py
def login(request):
context = {
"login_view": "active"
}
if request.method == "POST":
username = request.GET.get('username')
password = request.GET.get('password')
print(f"username ===== {username}")
print(f"password ===== {password}")
user = auth.authenticate(username = username, password = password)
if user is not None:
auth.login(request, user)
messages.success("you are successfully logged in")
return redirect('dashboard')
else:
messages.error(request, "Invalid credentials")
return redirect('login')
else:
return render(request, 'accounts/login.html', context)
解决方案
您需要将 GET 更改为 POST。例子:
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
# Redirect to a success page.
...
else:
# Return an 'invalid login' error message.
...
推荐阅读
- android - DataBinding 错误的编译类
- python - 类似于 Python 2.7 中的 ModuleNotFoundError 的异常?
- android - 单击选项卡菜单以打开片段
- python - 使用 pandas.DataFrame.to_html 时如何设置列宽?
- c# - 从 Youtube 链接检索视频流
- multithreading - JMeter: How to utilize token generated at runtime on multiple thread groups
- function - Common Lisp 调用函数
- mysql - 如何通过一个查询删除两个链接表(多对多关系)中的数据?
- c# - 无效的目录斜杠
- javascript - 从 lightGallery 插件获取 data-src