我是 Django 和 Python 的初学者!我遇到了一个问题!
我尝试在我的软件中创建一个 session 系统。当用户断开连接(通过按钮)时,用户将被重定向到连接页面。
不幸的是,form.is_valid()仍然有效,因此用户会自动再次连接。
我不知道为什么?我该如何重置表单或 POST 值。
谢谢,
托马斯
ps:连接 View 的代码(在我的应用程序的views.py中)是:
def connexion(request):
contact_form = Connect(request.POST or None)
if contact_form.is_valid():
print(contact_form.cleaned_data["id"])
user_check = uc(contact_form.cleaned_data["id"], contact_form.cleaned_data["pwd"])
if user_check.identity_verified:
request.session['usr'] = user_check.get_compact_value()
return redirect(home)
else:
return render(request, 'conn\\connexion.html', {'form': Connect, 'errorId': True})
del user_check
else:
return render(request, 'conn\\connexion.html', {'form': Connect, 'errorId': False})
最佳答案
这里有两件事你应该改变。
首先,如果请求是 POST,您应该只进行表单验证。
其次,您应该始终在发布请求后进行重定向,即使它返回到同一页面;这将重置这些值。
关于python - 如何在 python (Django) 中取消设置(删除)POST 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44545384/