Python 如何在不使用管理面板的情况下为django芹菜任务提供参数?

Python 如何在不使用管理面板的情况下为django芹菜任务提供参数?,python,django,django-celery,Python,Django,Django Celery,我已经开发了一个django应用程序,它将进行备份,我想用芹菜做这个,我需要知道芹菜的所有数据库都有什么,这样我就可以从用户那里获得输入,并将其作为芹菜任务的参数,而不是使用管理面板选项。 我需要达到的目标是: def mycelerytask(hassomearguemnts): will do some work. 我需要以编程方式为芹菜任务提供参数,而不是使用管理面板的参数 我想用django orm实现这一点。您可以使用delay调用任务并向其传递参数 mycelerytask

我已经开发了一个django应用程序,它将进行备份,我想用芹菜做这个,我需要知道芹菜的所有数据库都有什么,这样我就可以从用户那里获得输入,并将其作为芹菜任务的参数,而不是使用管理面板选项。 我需要达到的目标是:

def mycelerytask(hassomearguemnts):
    will do some work.
我需要以编程方式为芹菜任务提供参数,而不是使用管理面板的参数


我想用django orm实现这一点。

您可以使用
delay
调用任务并向其传递参数

mycelerytask.delay(theargument)

好的,我想您是在问从django视图插入值的问题。是的,您可以通过以下方式给出参数: 从数据中获取表单输入并将其解析为django芹菜模型,如下所示。 此示例用于向PeriodictTask传递参数

from djcelery import PeriodicTask
def your_view(request):
    if request.method == 'POST':
          form = yourform(request.POST)
          if form.is_valid():
                yourformfield = form.cleaned_data['yourformfield']
                periodic_task = PeriodicTask(name=task_name, task='yourapp.tasks.yourtaskname', args=yourformfield)
                peridoc_task.save()
Now you've created a periodic task without using the admin panel