我可以在模板中逐个获取所有标签的名称
{% for tag in blog.tags.all %}
<span class="label label-default">{{ tag.name }}</span>
{% endfor %}
我可以从像{{ form.tags }}
这样的表单中获取输入,它给了我:
<input id="id_tags" name="tags" type="text" value="xxx,y y y,zzz">
但是我想在我的模板中自定义我的输入
<input id="id_tags" class="form-control" maxlength="50" name="title" type="text" placeholder="tags" value="{{ form.tags }}">
如何设置输入值=“{{ form.tags }}
”?
答案 0 :(得分:2)
在您的模型中,您可以执行以下操作:
首先你应该
tags = TaggableManager(空白=真)
以下内容将获取所有标记,您可以在list_field中使用get_tags来获取每条记录的所有标记。
def get_tags(self):
tags = []
for tag in self.tags.all():
tags.append(str(tag))
return ', '.join(tags)
答案 1 :(得分:0)
我建议你最好使用Django的基于类的表单(而不是手工编写HTML),如果可能的话,Taggit已经为你处理了这个。
但是要尝试回答您的问题,如果您想获取特定对象的所有标记,我认为您需要的是blog.tags.values_list('name', flat = True)
,这意味着您需要编写自定义模板标记或 - 如果您使用“博客”一词来表示“博客帖子”并且您在一个博客帖子页面上 - 您可以将上述内容添加到视图的上下文中。