【发布时间】:2016-03-25 15:27:56
【问题描述】:
我有一个包含一些简单复选框的表单。当我提交时,它会使用post 提供相关信息。 html看起来像这样
<form method="post" id="myForm">
{% csrf_token %}
<input type="checkbox" name="choice" id="c1" value="c1" />
<input type="checkbox" name="choice" id="c2" value="c2" />
<input type="submit" value="Button">
</form>
因此,当我单击按钮时,它会将其提交到后端的同一页面。实际上,我有一些额外的 JQuery 代码将更多参数附加到 POST,并且该代码位于类似于 $('#myForm').submit(function() {}) 的位置。
我使用的是 Django 视图,python 代码如下所示。
class MyView(ListView):
template_name = "mypage.html"
...
...
def post(self, request):
# retrieve who got checked by looking at POST parameter
check = request.POST['choice'])
# make backend call with whatever got checked
foo(check)
# THIS IS NOT WHAT I WANT
return HttpResponse()
在post() 的末尾,我需要返回一个新的HttpResponse,这给了我一个空白页。但这不是我想要的。我只想刷新同一页面。即使什么都不做也没关系——我可以简单地要求用户刷新。
那我该怎么做呢?
【问题讨论】:
-
很难理解你在问什么。如果您的表单是通过 Ajax 发布提交的,那么它不会刷新。
标签: jquery django forms django-views http-post