python - 如何在 python (Django) 中取消设置(删除)POST 变量

标签 python django session post django-views

我是 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/

相关文章:

python - 如何读取Python字典和元组

python - 如何在 python 中正确地打乱列表

django - 在 django 中发送通知电子邮件的可扩展方式是什么?

python - Django Admin - 如何防止删除某些内联

c# - 检查 session 是否为空

Python Selenium add_extensions 关闭安装启动画面

Python:grequest和request给出不同的响应

python - Django - 来自抽象基类的外键

nhibernate - 为什么在这个例子中需要一个 session.Clear() 来反射(reflect)数据库中的变化?

session.invalidate() 实际上并不清除 JSF session 范围内的值