Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Views.py处理表单数据_Html_Django - Fatal编程技术网

Html Views.py处理表单数据

Html Views.py处理表单数据,html,django,Html,Django,My form.html {{ form_field(task_form['execution_time']) }} <input type="text" name="admin_time"> 处理表单时,如果admin_time有值,则execution_time应等于admin_time 我怎样才能做到这一点? 我想要这样的东西,但它会让我失去爱 def get_context_data(self, *args, **kwargs): ctx = sup

My form.html

      {{ form_field(task_form['execution_time']) }}
  <input type="text" name="admin_time">
处理表单时,如果admin_time有值,则execution_time应等于admin_time

我怎样才能做到这一点? 我想要这样的东西,但它会让我失去爱

def get_context_data(self, *args, **kwargs):
    ctx = super(CreateTaskView, self).get_context_data(*args, **kwargs)
    ctx['task_form'] = ctx.get('form')
    if self.admin_time.is_valid():
        task.execution_time=self.admin_time
    else:
        ctx['action'] = 'Add'
        ctx['cancel_url'] = reverse('tasks.list')
    return ctx
CreateView.get_context_数据用于将其他上下文发送到模板或覆盖exist one,并且仅当您必须呈现空值request.get时才会生成

您可以在request.POST上接收数据,所以它生成方法的顺序是:main dispatch->POST->form\u valid或form\u invalid->重定向到成功url。您可以看到没有get_context_数据,所以请从get_context_数据中删除那些奇怪的代码:

我可以看到您覆盖了form_valid,因此如果它运行-form已经有效,并且您可以从中获取清理的数据,如果您想执行一些额外的验证,请在form.save之前放置以下代码:

而且你不应该以你的有效形式返回ctx,因为在第一次返回后它永远不会到达这里


我还建议您查看CreateView类实现和Django教程和文档,如果您想了解您在那里做什么,请阅读并尝试所有教程,学习python。因为在这里,我们主要不支持这些问题。

我基本上想做的是:如果字段admin\u time有值,那么execution\u time应该是admin\u time,这应该在处理表单时添加。任何帮助都将不胜感激
def get_context_data(self, *args, **kwargs):
    ctx = super(CreateTaskView, self).get_context_data(*args, **kwargs)
    ctx['task_form'] = ctx.get('form')
    if self.admin_time.is_valid():
        task.execution_time=self.admin_time
    else:
        ctx['action'] = 'Add'
        ctx['cancel_url'] = reverse('tasks.list')
    return ctx
if self.admin_time.is_valid():
    task.execution_time=self.admin_time
else:
admin_time = form.cleaned_data['admin_time']

#  check if it is not empty
if admin_time:
    self.execution_time = admin_time