【问题标题】:Adjust CSS/html of a form element in DJango在 DJango 中调整表单元素的 CSS/html
【发布时间】:2015-04-30 14:51:09
【问题描述】:

在 django 工作时一直在尝试自学一些 CSS,但遇到了困难。我作为团队的一员工作。我一直在使用以下表单提交数据(效果很好),但无法更改表单元素的 CSS(尤其是文本框)

<div class="fieldWrapper">
  {{ form.description.errors }}
  <label for="{{ form.title.id_for_label }}"></label>
  {{ form.description }}
</div>

鉴于上面的代码,我相信我需要操作的元素,以及控制我屏幕上文本框的元素是 {{ form.description }}。但我似乎无法弄清楚如何对其应用任何更改,至少从模板页面。

我在教程中看到过使用输入标签完成此操作,我也看到过人们使用小部件来编辑属性,但我不想过多地更改配置,并且我的小部件实现没有没用。

这可能吗,还是我需要深入研究代码并编辑控制它的表单类?

谢谢

【问题讨论】:

  • 您说您已尝试调整该字段的小部件。你尝试了什么?你能发布你的代码吗?

标签: html css django forms


【解决方案1】:

您可以从 django 表单类中执行此操作。

https://docs.djangoproject.com/en/1.7/ref/forms/widgets/#styling-widget-instances

class CommentForm(forms.Form):
    name = forms.CharField(widget=forms.TextInput(attrs={'class': 'special'}))

如果说它是一个modelform并且你没有手动实例化字段,你可以像往常一样覆盖__init__并修改

self.fields['my_field'].widget.attrs['class'] = 'my-class'

您也可以随时手动构建 HTML,而不是依赖表单字段自动呈现,就像您对标签所做的那样。

【讨论】:

    猜你喜欢
    • 2011-09-08
    • 2017-04-17
    • 2020-06-01
    • 1970-01-01
    • 2021-04-22
    • 2019-10-16
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多