【问题标题】:crispy form tab has twice the same name酥脆的表单选项卡有两个相同的名称
【发布时间】:2021-09-20 09:01:47
【问题描述】:

我目前正在使用三种型号:

  • 带有指向 Briefe 的外键的 SubBriefe
  • SubBriefe 与 SubBriefeField 具有多对多关系,这允许每个 SubBriefe 指向 Subriefefields

问题是,当我使用布局助手来呈现我在 SubBriefeFields 的选项卡内的 SubBriefe 选项卡时,问题是如果 SubBriefeField 选项卡“示例”在两个 Subbriefe 中,则激活选项卡的 ID 没有工作两次,

你知道使我的布局助手中每个选项卡的 css.id 唯一的函数吗,因为我认为它已经存在于手风琴组中。

【问题讨论】:

    标签: python css django forms django-crispy-forms


    【解决方案1】:

    我在 Lib\site-packages\crispy_forms\bootstrap.py 中找到了答案,并将两个方法直接复制并粘贴到 forms.py 中的 Tab 类和 Container 类,您将分别重命名为 Tabed 和 Containered在容器初始化方法中,如果不是 self.css.id ... by

    self.css.id = f"{self.name}{kwargs['roller']}" 并在您的新 taber 中添加参数roller

    Taber(name ,Row('', *FieldSet(lister), css_class='col-12'),roller=roller)

    诀窍已经完成,您将在选项卡中拥有可以具有相同名称的选项卡,除了我们在选项卡的 css.id 末尾附加一个参数以防重复,

    当然,我在 css.id 末尾使用主选项卡的指针,这样当我在第一个选项卡中时,子选项卡以 0 结尾,第二个选项卡 -> 子选项卡以 1 结尾...。

    【讨论】:

      猜你喜欢
      • 2020-06-25
      • 2019-12-21
      • 1970-01-01
      • 1970-01-01
      • 2020-06-13
      • 2016-01-26
      • 1970-01-01
      • 2021-07-07
      • 2016-01-29
      相关资源
      最近更新 更多