【问题标题】:Override django form field覆盖 django 表单字段
【发布时间】:2018-04-09 12:41:28
【问题描述】:

我对此进行了很多研究,但没有得到任何准确的答案。交易是这样的:我想覆盖我自己的 forms.Field 的使用位置,也就是说,从 forms.Field 继承的所有类都继承自我自己的。为什么?我喜欢添加一些我将在每个字段中使用的属性。

有人吗?

【问题讨论】:

  • 请更具体! 1>你想在forms.Field中覆盖什么,我在考虑造型? 2> 什么属性?,改变字段类型?,id?
  • 我想添加与列和行相关的属性以制作通用模板,并根据该属性安装网格。
  • 你想覆盖 forms.Field 以便使用你的而不是Django,还是你想覆盖它所以你的每次你想使用 Django 表单时使用?
  • 是的,覆盖。对不起这些话。谢谢

标签: django django-forms


【解决方案1】:

这是我使用的代码,请记住,该字段纯粹用于文本字段,对于密码,您必须手动覆盖表单值字段。

{% for field in form %}
    <div class="custom_class_here ">
{% if field.errors%}
    <div class="custom_class_here">
        {{ field.errors }}
    </div>
{% endif %} 
{% if field.help_text %}
     <p class="custom_class_here">{{ field.help_text|safe }}</p>
{% endif %}
     <input type="{{ field.field.widget.input_type }}" name="{{ field.html_name }}" id="{{field.id_for_label}}" class="custom_class_here" placeholder="{{field.label}}" value= "{{field.value|default_if_none:''}}">
    </div>            
{% endfor %} 

对于复选框、选择、密码下拉列表等,您必须编写单独的 if 条件并相应地更改字段。

我提到了 Vitor 的site

【讨论】:

  • 不,这个我已经做了,我想覆盖forms.Field,与模板无关,请阅读问题,谢谢。
  • 我不了解您的确切要求,您说要向表单模板添加属性?
  • 不,我想在 django.forms 上添加属性来编辑类字段并上传到我自己的虚拟环境中的服务器,明白吗?
猜你喜欢
  • 2020-09-16
  • 2017-05-05
  • 2015-08-06
  • 2012-02-06
  • 1970-01-01
  • 2020-04-05
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
相关资源
最近更新 更多