在the docs中,有一篇关于to_python
方法的文章,负责解串值。但推荐的方式是序列化数据并准备好传递给小部件?像get_db_prep_value()
,但用于字段?在自定义Django表单字段中的to_python的对面?
4
A
回答
7
有方法value()
和prepare_value()
,其中后者是无证的,但在value()
的末尾被称为。如果您阅读the code,您可以搜索prepare_value
,并会发现例如如果需要,与日期相关的字段利用它来调整值。
value()
由as_widget()
这在端呼吁插件的render()
方法,并传递沿着由value()
(因而prepare_value()
)的返回值调用。
最新的修改是在小部件的render()
方法中进行的。 只有在这里发生转变到最后的字符串表示,这就是为什么在某些使用情况(当插件需要比串另一种数据类型,例如选择列表,其需要一个list
对象),有必要覆盖render()
sepecifically。
但是,如果小部件处理字符串(或者您希望进行的修改可以应用于将传递到render()
的数据类型),那么它将足以挂钩到prepare_value()
。
from django import forms
class MyField(forms.Field):
def prepare_value(self, value):
return '{}, I am modified!'.format(value)
class MyForm(forms.Form):
foo = MyField(initial="Hello world")
测试片段在壳体:
In [1]: MyForm().as_p()
Out[1]: '<p><label for="id_foo">Foo:</label> <input id="id_foo" name="foo" type="text" value="Hello world, I am modified!" /></p>'
相关问题
- 1. Django,自定义字段,to_python,并显示在Django中的序列化文本admin
- 2. 自定义字段的to_python无法正常工作? - Django
- 3. Django自定义字段:只从数据库的值运行to_python()?
- 4. Django自定义模型字段:to_python()没有调用
- 5. values_list在自定义模型字段中不使用to_python?
- 6. Django:自定义特定的表单字段的HTML
- 7. 自定义表单中的字段
- 8. Django:根据字段属性自定义模板中的表单
- 9. 在Django自定义模型字段的管理表单集成
- 10. 自定义排序在Django的自定义字段中
- 11. 如何在自定义Django字段实现中从to_python访问其他模型实例字段
- 12. 访问Django中的自定义表单字段类型的表单属性
- 13. Django的:定义自己的表单字段
- 14. Django模型中的自定义字段
- 15. 自定义编号字段未执行“to_python”?
- 16. Django的表单字段使用自定义GETATTR templatetag
- 17. 没有自定义表单的Django模型字段验证
- 18. 从表单自定义外键字段保存数据在Django
- 19. Django fieldset.html自定义。如何自定义单个字段?
- 20. 筹措ValidationError在自定义字段的to_python()方法打破管理形式
- 21. Django的REST - 添加自定义字段中的对象
- 22. 如何自定义Django管理界面中的字段
- 23. django中的自定义html表单?
- 24. 关于如何在django中编写自定义表单字段的教程?
- 25. 在自定义Django ImageField表单字段中访问实例值的DRY方法?
- 26. 将自定义字段添加到Django中的auth_user表中
- 27. Django:在表单中定制ManyToMany字段
- 28. SSN的自定义密码Django字段?
- 29. 自定义的django render_comment_form字段
- 30. Django的 - 预设场(自定义字段)
您的主要问题是什么?显示一些代码 – madzohan