我每 30 秒有一个计划的 celery 运行任务。我有一个每天作为任务运行,另一个每周在用户指定的时间和星期几运行。它检查“开始时间”和“下一个预定日期”。在任务完成之前,下一个计划日期不会更新。
但是,我想知道如何确保 celery beat 只运行一次任务。我现在看到,芹菜将多次运行某个任务,直到该任务的下一个预定日期更新。
我刚刚使用以下文档创建了一个 django 表单:https://docs.djangoproject.com/en/1.8/topics/forms/
我的 Forms.py 与此类似:
from django import forms
class NameForm(forms.Form):
your_name = forms.CharField(label='Your name', max_length=100)
Run Code Online (Sandbox Code Playgroud)
我的 Html 模板与此类似(来自 django 文档):
<dialog id="addForm">
<form action="{% url "listing" %}" method="post" >
{% csrf_token %}
{{ form }}
<input id="task_submit" type="submit" value="Submit"/>
</form>
</dialog>
<button onlick="PopUp()">Add Listing </button>
<script>
function PopUp(){
document.getElementByID("addForm").showModal();
}
</script>
Run Code Online (Sandbox Code Playgroud)
但是,我希望当用户单击名为“添加任务”的按钮时,我的表单成为弹出对话框。我不希望在用户单击名为“添加任务”的按钮之前显示表单。到目前为止,我在使用 Django Forms 时还没有找到任何方法可以做到这一点。
问题:当用户单击按钮时,如何实现弹出对话框来显示我当前的 django 表单?