我为一个包含按钮的页面提供服务,然后单击按钮,Django执行脚本(Ansible剧本)并将stdout打印到同一页面。对于Ansible来说,这是一种非常简单的Web界面。 Ansible与Django位于同一台计算机上。
现在,Django视图在HTTP GET上呈现此页面(HTML模板),并且当单击按钮时,将调用HTTP POST,该POST处理所有Ansible内容,获取stdout并使用其他上下文呈现同一模板。
我目前唯一的问题是单击该按钮后手动刷新。如果您按下按钮,然后刷新浏览器,则会再次调用POST,包括所有后果(Ansible剧本等)
我必须解决什么问题?我真的需要在同一页面上打印stdout,因此无法重定向到其他页面。
外观与此https://en.wikipedia.org/wiki/Post/Redirect/Get
非常相似<form action="" method="POST">
{% csrf_token %}
{{ form }}
<input type="submit" value="{% if status == 1 %}Shut Down{% else %}Bring Up{% endif %}" id="submit01"/>