【问题标题】:Django forms.form header fieldDjango forms.form 头字段
【发布时间】:2017-01-12 01:40:49
【问题描述】:

我想在 forms.form 中有一个字段类型,它只接受要显示的标题文本,因此 HTML 将类似于:

这是本节的标题文本

问题

问题

问题

另一个标题

问题

问题

我的想法是我使用仅用于问题页面的模型即时声明表单中的所有问题,我需要某些部分的标题来说明这些部分的内容。到目前为止,即时插入问题都运行良好,只是我需要最后一点显示代码来使其能够满足我的需要。

为了提供更多信息,这是我的方法:

  1. 创建表单的管理员在管理界面中创建问题
  2. 然后将问题添加到问题表单中
  3. 当用户进入问题页面时,它会使用 forms.form 呈现带有问题的页面

问题声明使用:

self.fields['id'] = forms.CharField( 最大长度=100, 标签=文本,必填=q.question.required)

我想要的是用 HeaderField 之类的东西替换上面的行,它在 H1/2/3/4...etc 容器中只有标题文本。

所以我想要的理想语法是

self.fields['id'] = forms.HeaderField(label=text, type=1)

类型 1 是 H1,类型 2 是 H2...等等

【问题讨论】:

    标签: django


    【解决方案1】:

    我最终使用另一个答案当场找到了解决方案。解决方案只是将标签标记为对 HTML 安全,然后我可以直接添加 HTML 并在之后对其进行样式设置。

    from django.utils.safestring import mark_safe
    
    self.fields['id'.format(q.question.id)] = forms.CharField(
                    widget=forms.Textarea,
                    max_length=1000,
                    label=mark_safe(text), required=q.question.required)
    

    完成后,我可以添加 H1 或 BR 之类的内容并直接对其进行样式设置。它有点笨拙,但至少它适用于我已经拥有的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 1970-01-01
      • 2019-08-19
      • 2015-10-03
      • 2017-07-08
      • 2015-10-13
      相关资源
      最近更新 更多