在 Django Crispy Forms 中创建 if 语句,条件表单布局

Creating if statment in Django Crispy Forms, conditional form layout

我正在使用 Django Crispy Forms。我想写一个 if-else 语句。当字段名的值为“Daisy”时,则应出现Age字段,否则不应有字段'age'。

我的代码:

def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
      
     self.helper.layout = Layout(

         HTML(form_opening.format('Cats')),
         'name',
         'age',
          HTML(form_closing),
         
     ),
    ```

我刚刚在我自己的一个表格上测试了这个,效果很好:)

__init__函数中:

if getattr(self.instance, "name", None) == "Daisy":
    del self.fields["age"]