python – 将附加信息附加到表单字段
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 将附加信息附加到表单字段,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1113字,纯文字阅读大概需要2分钟。
内容图文
![python – 将附加信息附加到表单字段](/upload/InfoBanner/zyjiaocheng/825/9071cbb8899848089ceb3e6c5a8836af.jpg)
我正在尝试将其他信息传递给Django表单的字段以显示在模板中.我试图覆盖构造函数并将另一个属性添加到字段中,如下所示:
self.fields['field_name'].foo = 'bar'
但在模板中:
{{ form.field_name.foo }}
没有打印任何东西.有没有人知道如何在不重写/继承表单字段类的情况下向字段添加其他信息?
解决方法:
根据django.forms.forms,Form的__getitem __()方法在返回之前会在Field之外创建一个名为BoundField的东西,从而剥离它所做的任何更改.如果你真的想在其中插入更多功能,请在返回之前覆盖该方法以对绑定字段执行操作:
class MyForm(forms.Form):
def __getitem__(self, name):
boundfield = super(forms.Form,self).__getitem__(name)
boundfield.foo = "bar"
return boundfield
然后,将为该表单中的所有字段显示“bar”.您也可以创建一个函数并调用它,使其不仅仅是一个硬编码的字符串.
虽然添加更多字段或向表单本身添加属性更为标准,但如果您有每个字段需要包含的全新信息类,则可以为您执行此操作.
另一种获得相同功能的方法是编辑该字段的属性,然后通过BoundField的“field”属性访问它:
class MyForm(forms.Form):
def __init__(self, *args, **kwargs)
super(forms.Form, self).__init__(*args, **kwargs)
self.fields['field_name'].foo = "bar"
然后,在模板中访问foo:
{{ form.field_name.field.foo }}
内容总结
以上是互联网集市为您收集整理的python – 将附加信息附加到表单字段全部内容,希望文章能够帮你解决python – 将附加信息附加到表单字段所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。