重置表单的设置变量

2024-10-01 04:55:03 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的表单中,我得到了一个名为Cform的类,它是ConstanceFormCform(ConstanceForm)的子类

在我的视图.py你知道吗

class ResetCView(FormView):
    template_name = 'c.htm.jinja'
    form_class = Cform
    model = CModel

    def form_valid(self.form):
        form.cleaned['C_CODE'] = settings.C_CODE
        form.save()
        return HttpResponseRedirect(reverse('cview))

在我的模板中:

<form method="post" action="{{url('c-reset')}}" name="form">
          <button>Reset</button>
</form>
<form method="post" action="{{url('c-view')}}" name="form">
          {{ form.as_p}}
</form>

我的问题是它没有更新。表单总是无效的。我只想将窗体或其数据库值重置为特定的数据。你知道吗


Tags: nameform视图url表单codebuttonaction
1条回答
网友
1楼 · 发布于 2024-10-01 04:55:03

处理这个问题最简单的方法可能是在表单中为该字段添加一个干净的方法并将其设置在那里

def clean_c_code(self):
    self.cleaned_data['C_CODE'] = settings.C_CODE
    return self.cleaned_data['C_CODE']

尽管如此

  1. 如果它总是具有相同的值(只需访问设置),您真的需要它在表单中吗
  2. 这可能根本不是一个好主意,设置应该与第一次运行服务器时保持一致

相关问题 更多 >