【问题标题】:Auto refresh django form?自动刷新django表单?
【发布时间】:2013-10-01 02:15:49
【问题描述】:

我的 django 表单中有这些代码。它可以显示我想要的数据并可以删除它。但是,删除后,我必须重新加载页面,这样我才能看到我删除的数据消失了。我尝试了 django-fresh 但发生了 Web 服务器错误。删除后django表单如何自动刷新?可以举几个例子吗?

<body onload="myFunction()">
<form>  
<h1><label for="keywords"> Keywords:</label></h1>
<br>
{% for key in keywords %}
<li>
{{ key.keywords }} <a href="/delete/one/{{key.id}}">delete</a>&nbsp;&nbsp; 
</li>
<br><br>
{% endfor %}
</form>
</body>

【问题讨论】:

  • "/delete/one/{{key.id}}" 视图有什么作用?
  • 你能否举一个更完整的例子,也许是后端 django 代码?当您单击 &lt;a&gt; 元素时,大概不会从 DOM 中删除 &lt;li&gt; 元素。所以它在页面刷新时被删除,但不是以交互方式。我想这就是django-fresh 应该做的。你确定在你的python代码中import os了吗?

标签: python django forms


【解决方案1】:

Django-fresh 只会在项目中的文件更改时刷新页面。它不适用于在生产环境中重置表单或执行类似操作。

来自文档:https://pypi.python.org/pypi/django-fresh/1.0.5:

django-fresh 将在您更新到任何 项目中的文件。对开发非常有用,不适用于 生产!

当对静态文件或模板进行更改时,Django 的内置服务器不会重新启动,只会对 Python 文件进行更改。 Django-fresh 填补了这一空白。

要在发布后重置表单,您需要重新渲染视图,并传入任何新的关键字实例(如果它们存在)。如果没有要删除的关键字,我建议首先不要渲染表单。

如果您通过 ajax 提交表单,则需要重新呈现表单并替换页面中的 HTML 部分。

【讨论】:

    猜你喜欢
    • 2017-10-22
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 2019-04-11
    • 2012-10-29
    • 2016-01-11
    • 2011-09-25
    • 2015-09-29
    相关资源
    最近更新 更多