在基于类的通用视图中为模型表单设置初始值

2024-09-28 22:48:47 发布

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

我正在使用基于类的泛型视图,有人能建议我如何设置初始值来更新表单吗?

我试过使用get_initial()方法,但没有成功。下面是我试过的代码

  class IncidentUpdateView(UpdateView):
      form_class = IncidentForm
      form_class.initial = {"badge_number": '88888'}
      model = Incident
      template_name = 'hse/incident/incident_update.html'

     def get_initial(self, form_class):
        initials = {
         "badge_number": '88888'
         }
        form = form_class(initial=initials)
       return form

     def get_success_url(self):
        return reverse_lazy('hse-incident', args=[self.object.id])

Tags: badgeselfform视图numbergetreturndef
1条回答
网友
1楼 · 发布于 2024-09-28 22:48:47

您应该定义一个get_initial方法,该方法返回包含初始值的字典:

class IncidentUpdateView(UpdateView):

    def get_initial(self):
        return { 'value1': 'foo', 'value2': 'bar' }

或者,您可以定义一个initial值:

class IncidentUpdateView(UpdateView):
    initial = { 'value1': 'foo', 'value2': 'bar' }

相关问题 更多 >