【问题标题】:how to cancel form w/o validation in django + bootstrap4如何在 django + bootstrap4 中取消没有验证的表单
【发布时间】:2018-05-30 02:37:49
【问题描述】:

您好,我正在使用 django + bootstrap4 来渲染表单。我在表格上有“提交”和“取消”按钮。我正在使用 ModelForm 并为大多数表单属性分配了验证器。

模板文件

<form action="{% url 'actor-create' %}" method="post" class="w-25 mx-auto">
    {% csrf_token %}
    {% bootstrap_form form layout="horizontal" %}
    <button class="btn btn-primary" type="submit"><i class="fas fa-plus"></i> Save</button>
    <button class="btn btn-primary" type="submit"><i class="fas fa-times"></i> Cancel</button>
</form>

在视图中

def actor_create(request):
    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        print(request.POST)
        if "cancel" in request.POST:
            return HttpResponseRedirect('/')
     ..... rest of the code

当按下取消按钮时,表单属性的验证会阻止表单提交。所以视图功能永远不会被执行。

我想知道当表单被取消时如何避免验证?

在 Q&A 之后有一个基于 JavaScript 的解决方案,我最好不想为我网站中的每个表单编写这样的代码。 How to cancel form submission?

【问题讨论】:

  • 只需将取消按钮设为链接即可?
  • 是的,这行得通!但这是标准做法吗?

标签: django bootstrap-4 modelform


【解决方案1】:

正如Iain Shelvington 所建议的那样,将其设为“a”对我有用!

<a href="{% url 'callmodel:index' %}" class="btn btn-primary"><i class="fas fa-times"></i> Cancel</a>

【讨论】:

    猜你喜欢
    • 2015-10-25
    • 1970-01-01
    • 2021-08-10
    • 2017-08-02
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 2011-07-27
    • 2013-01-26
    相关资源
    最近更新 更多