Django - Python:提交表单,不刷新页面,从提交的表单中获取数据

时间:2015-09-24 20:19:31

标签: python django

我的主页(index.html)中有一个表单:

<form  action="{% url "..." %}" method="POST" enctype="multipart/form-data" class="custom-form-thing">
{% csrf_token %}
    <div class="inputWrapper">
        <input id="some_file_input" type="file"  name="some_file" class="custom-input-thing">
    </div>
    <button type="submit">Submit</button>
</form>

我的网站在一个页面中,这意味着我在屏幕两侧用箭头移动以转到其他页面。当用户到达索引页面时,这两个箭头被隐藏,并且它们仅在用户在表单中提交他/她的文件后出现,之后他/她可以移动到其他页面

当表单在后面提交时,有一些方法开始运行并对提交的文件做一些工作,并返回我在索引页面右侧页面中显示的一堆数据,关于。 HTML

我要做的是提交表单并留在那里,但使用这些方法返回的数据来完成About.html页面

我现在正在做的是在我的视图中重定向到同一个index.html:

def method():
    ...
    return render(request,  'App/index.html',context={'dates': dates})

以我的形式:

<form  action="{% url "index" %}"...>

问题在于,当我提交表单时,页面会刷新(对不起我的英文),因此隐藏的箭头会再次隐藏,用户无法四处移动以查看“关于”页面中的数据。

所以问题是:如何提交表单并保留在index.html中而不刷新页面。

一个简单问题的文字非常长,只是想给你们一些我想要这样做的背景

提前感谢您的帮助。

修改

我对ajax或jquery一无所知所以如果有答案表明两者的用法请记得那个

1 个答案:

答案 0 :(得分:0)

使用AJAX将数据发送到表单处理程序,并在javascript中处理返回的数据。

如果要使用提交按钮,并将表单提交到索引,请在发出POST请求时为DJANGO模板分配值,并添加用于显示它们的类(如果已分配)。