重复问题Django-Taggit in Edit Form . 但是,答案对我不起作用 .
我在表格中使用Django Taggit . 表单由启用了Django Taggit的对象实例填充 .
在我的模板中,表单标记输入字段值的设置如下:
value="{{ form.tags.value|default_if_none:"" }}"
这会产生粗略格式的字符串值:
value="[<TaggedItem: foo tagged with bar>]"
如果我使用基本的Django表单渲染(即{})渲染表单,则正确呈现标记字段值(即"tag1, tag2") . 奇怪的是,这与Django-Taggit in Edit Form的海报正在经历的相反 . 对于他们来说,{}没有正确地呈现值,但对我来说,它是 .
为什么我的表单和Django之间存在这种差异?如何在自定义表单模板中正确呈现标记值?
1 回答
我有一个解决方案,感觉hacky但工作 .
实例化表单时,修改标记的初始状态:
edit_string_for_tags()
和get_query_set()
是Django Taggit的一部分 .注意:您需要导入
edit_string_for_tags()
. 即from taggit.utils import edit_string_for_tags