![](/img/trans.png)
[英]In django-taggit, is there a way to get all tags assoicated to a model?
[英]Django-taggit how to get all tags
我可以在模板中逐个获取所有标签的名称
{% 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 }}
”?
在您的模型中,您可以执行以下操作:
首先你应该有
tags = TaggableManager(空白= True)
以下将获取所有标记,您可以在list_field中使用get_tags来获取每个记录的所有标记。
def get_tags(self): tags = [] for tag in self.tags.all(): tags.append(str(tag)) return ', '.join(tags)
如果可能的话,我建议你最好使用Django的基于类的表单(而不是手工编写HTML),因为Taggit已经为你处理了这个问题。
但是为了尝试回答你的问题,如果你想获得特定对象的所有标签,我认为你需要的是blog.tags.values_list('name', flat = True)
,这意味着你需要编写自定义模板标记或 - 如果您使用“博客”一词来表示“博客帖子 ”并且您在单个博客帖子页面上 - 您可以将上述内容添加到视图的上下文中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.