是否可以提交两种不同的表格,在django中有一个提交按钮?我有一个称为"乐器"的表格和4个相同的表格"配置".现在我想提交一个配置和仪器.例如,仪器+配置1,仪器+配置2.每个配置都有自己的提交按钮.
我在配置表单中尝试了一个按钮:
<input onclick="submitForms()" class="btn btn-primary cfg" type="submit" value="Start" >
Run Code Online (Sandbox Code Playgroud)
并调用js函数'onclick':
submitForms = function(){
console.log('ok'); //only for testing
document.forms["firstForm"].submit();
document.forms["secondForm"].submit();
}
Run Code Online (Sandbox Code Playgroud)
这是我在views.py中的方法:
if request.method == 'POST':
form1 = dataproviderInstrumentForm(request.POST)
form2 = dynamicTimeseriesForm(request.POST)
print(request.POST)
if form1.is_valid() or form2.is_valid():
# do some stuff
else:
form1 = dataproviderInstrumentForm() # an unbound form
form2 = dynamicTimeseriesForm() # an unbound form
Run Code Online (Sandbox Code Playgroud) 我有两个Pythonapplications'前端'和'fv'.在我的fv应用程序中是我的tasks.py文件,在我的前端应用程序中是我的views.py文件来呈现我的视图.
现在我有一个视图,我可以选择一些参数来获取请求.POST.现在我想调用一个任务方法FunctionRDynamic并从我的视图表单中传递参数.
views.py中的方法:
if request.method == 'POST':
form1 = dataproviderInstrumentForm(request.POST)
form2 = dynamicTimeseriesForm(request.POST)
if form1.is_valid() or form2.is_valid():
filters = form2.cleaned_data['filter']
estimator = form2.cleaned_data['estimator']
windowSize = form2.cleaned_data['windowSize']
FunctionRDynamic.delay(estimator, windowSize, timeseries)
Run Code Online (Sandbox Code Playgroud)
FunctionRDynamic是我在oder应用程序的tasks.py文件中的方法,但是此方法不会执行.
对于我的任务,我使用芹菜.所有都是用Python编写的,我使用Django作为mvc框架.
有没有人有建议?
我的问题是节拍调度程序不会在表'tasks'和'workers'中存储条目.我用django和芹菜.在我的数据库(MySQL)中,我添加了一个周期性的"估计区域",间隔为120秒.
这就是我开始工作的方式:
`python manage.py celery worker -n worker.node1 -B --loglevel=info &`
Run Code Online (Sandbox Code Playgroud)
在我启动工作人员之后,我可以在终端中看到工作人员正在工作,并且调度程序从数据库中挑选出定期任务并对其进行操作.
我的任务是如何定义的:
@celery.task(name='fv.tasks.estimateRegion',
ignore_result=True,
max_retries=3)
def estimateRegion(region):
Run Code Online (Sandbox Code Playgroud)
终端显示:
WARNING ModelEntry: Estimate Region fv.tasks.estimateRegion(*['ASIA'], **{}) {<freq: 2.00 minutes>}
[2013-05-23 10:48:19,166: WARNING/MainProcess] <ModelEntry: Estimate Region fv.tasks.estimateRegion(*['ASIA'], **{}) {<freq: 2.00 minutes>}>
INFO Calculating estimators for exchange:Bombay Stock Exchange
Run Code Online (Sandbox Code Playgroud)
任务"估计区域"返回一个results.csv文件,所以我可以看到工作者和节拍调度程序工作.但之后我的django管理面板中的"任务"或"工作人员"中没有数据库条目.
这是我在settings.py中的芹菜设置
`CELERY_DISABLE_RATE_LIMITS =真CELERY_TASK_SERIALIZER ='pickle'CELERY_RESULT_SERIALIZER ='pickle'CELERY_IMPORTS =('fv.tasks')CELERY_RESULT_PERSISTENT = True
# amqp settings
BROKER_URL = 'amqp://fv:password@localhost'
#BROKER_URL = 'amqp://fv:password@192.168.99.31'
CELERY_RESULT_BACKEND = 'amqp'
CELERY_TASK_RESULT_EXPIRES = 18000
CELERY_ROUTES = (fv.routers.TaskRouter(), )
_estimatorExchange = Exchange('estimator')
CELERY_QUEUES = ( …Run Code Online (Sandbox Code Playgroud)