Python Django Taggit以自定义形式将标记呈现为对象
将问题复制到。然而,这个答案对我来说并不适用 我在表单中使用Django Taggit。表单由启用Django Taggit的对象的实例填充 在我的模板中,表单标记输入字段值设置如下:Python Django Taggit以自定义形式将标记呈现为对象,python,django,forms,django-taggit,Python,Django,Forms,Django Taggit,将问题复制到。然而,这个答案对我来说并不适用 我在表单中使用Django Taggit。表单由启用Django Taggit的对象的实例填充 在我的模板中,表单标记输入字段值设置如下: value="{{ form.tags.value|default_if_none:"" }}" 这将导致字符串值的粗略格式为: value="[<TaggedItem: foo tagged with bar>]" 如果我使用基本Django表单呈现(即{form}})呈现表单,则正确呈现标记字
value="{{ form.tags.value|default_if_none:"" }}"
这将导致字符串值的粗略格式为:
value="[<TaggedItem: foo tagged with bar>]"
如果我使用基本Django表单呈现(即{form}})呈现表单,则正确呈现标记字段值,即tag1、tag2。奇怪的是,这与海报所经历的恰恰相反。对他们来说,{form}没有正确地呈现值,但对我来说,确实如此
为什么我的状态和Django的状态有这样的差异?如何使标记值在自定义表单模板中正确呈现?我有一个解决方案,感觉很粗糙,但很有效 实例化表单时,修改标记的初始状态:
form = YourModelForm(request.POST or None, instance=your_model_instance, initial={
'tags' : edit_string_for_tags(your_model_instance.tags.get_query_set())
})
编辑标记的字符串和获取查询集是Django Taggit的一部分
注意:您需要为\u标记导入编辑\u字符串\u。i、 e.从taggit.utils导入编辑标签的字符串是否在项目中在线运行?然后我们可以查看链接。@用户,恐怕它不在线。