表单提交发送 POST 请求而不是 GET
Form submit sending POST request instead GET
我正在尝试让 django-filter
工作,而且它已经工作了,但现在它突然停止了。
问题是过滤器中的 submit
按钮似乎在发送 POST 请求而不是 GET
下面是 HTML 代码的片段
<div class="form-group">
<form method="POST">
{% csrf_token %}
{{form|crispy}}
<button class="btn btn-outline-success" type="submit">Add product</button>
</div>
<div id="filter-menu">
<form method="get">
{{filter.form.nick_name|as_crispy_field}}
<br>
{{filter.form.domain|as_crispy_field}}
<br>
<button class="btn btn-outline-success" type="submit">Filtrér</button>
</form>
<form method="get">
{{filter.form.nick_name|as_crispy_field}}
<br>
{{filter.form.domain|as_crispy_field}}
<br>
<button class="btn btn-outline-success" type="submit">Dummy</button>
</form>
</div>
我确实有一个 POST-请求提交按钮,如上所示,它似乎是被触发的按钮,因为当我调试应用程序时,request.method == "POST"
当按下 apply filter
按钮。
有趣的是“虚拟按钮”可以正常工作
是不是很简单?顶部表单有 post 方法,你忘了添加它。使用下面的代码。
<div class="form-group">
<form method="POST">
{% csrf_token %}
{{form|crispy}}
<button class="btn btn-outline-success" type="submit">Add product</button>
</form>
</div>
<div id="filter-menu">
<form method="get">
{{filter.form.nick_name|as_crispy_field}}
<br>
{{filter.form.domain|as_crispy_field}}
<br>
<button class="btn btn-outline-success" type="submit">Filtrér</button>
</form>
<form method="get">
{{filter.form.nick_name|as_crispy_field}}
<br>
{{filter.form.domain|as_crispy_field}}
<br>
<button class="btn btn-outline-success" type="submit">Dummy</button>
</form>
</div>
问题一定是它假设所有其他形式都是第一种形式的一部分,而第一种形式只是使用 post 方法的形式。这就是您获得 post 结果的原因。希望能帮助到你。如果是,请投票给答案。
我正在尝试让 django-filter
工作,而且它已经工作了,但现在它突然停止了。
问题是过滤器中的 submit
按钮似乎在发送 POST 请求而不是 GET
下面是 HTML 代码的片段
<div class="form-group">
<form method="POST">
{% csrf_token %}
{{form|crispy}}
<button class="btn btn-outline-success" type="submit">Add product</button>
</div>
<div id="filter-menu">
<form method="get">
{{filter.form.nick_name|as_crispy_field}}
<br>
{{filter.form.domain|as_crispy_field}}
<br>
<button class="btn btn-outline-success" type="submit">Filtrér</button>
</form>
<form method="get">
{{filter.form.nick_name|as_crispy_field}}
<br>
{{filter.form.domain|as_crispy_field}}
<br>
<button class="btn btn-outline-success" type="submit">Dummy</button>
</form>
</div>
我确实有一个 POST-请求提交按钮,如上所示,它似乎是被触发的按钮,因为当我调试应用程序时,request.method == "POST"
当按下 apply filter
按钮。
有趣的是“虚拟按钮”可以正常工作
是不是很简单?顶部表单有 post 方法,你忘了添加它。使用下面的代码。
<div class="form-group">
<form method="POST">
{% csrf_token %}
{{form|crispy}}
<button class="btn btn-outline-success" type="submit">Add product</button>
</form>
</div>
<div id="filter-menu">
<form method="get">
{{filter.form.nick_name|as_crispy_field}}
<br>
{{filter.form.domain|as_crispy_field}}
<br>
<button class="btn btn-outline-success" type="submit">Filtrér</button>
</form>
<form method="get">
{{filter.form.nick_name|as_crispy_field}}
<br>
{{filter.form.domain|as_crispy_field}}
<br>
<button class="btn btn-outline-success" type="submit">Dummy</button>
</form>
</div>
问题一定是它假设所有其他形式都是第一种形式的一部分,而第一种形式只是使用 post 方法的形式。这就是您获得 post 结果的原因。希望能帮助到你。如果是,请投票给答案。