Jango Taggit的模板标记。
django-taggit-templatetags的Python项目详细描述
这是一个可重用的django应用程序,它向django-taggit添加了一些模板标记。
安装
只需通过pip安装django-taggit-templatetags:
$ pip install django-taggit-templatetags
安装并配置django-taggit后,只需将taggit_templatetags添加到settings.py中的INSTALLED_APPS:
INSTALLED_APPS = ( ... 'taggit_templatetags', ... )
用法
现在启用了一些templatetags,目前只用于创建标记列表和标记云。
在模板中,需要加载taggit_extras:
... {% load taggit_extras %} ...
标签列表
加载taggit_extras之后,您可以为整个项目(从djangoproject的角度来看)、应用程序(从djangoapp的角度来看)、模型类(要获取模型实例的列表,只需使用其标记字段)创建标记列表。
对于项目的标记,只需执行以下操作:
{% get_taglist as tags %}
对于应用程序的标记,只需执行以下操作:
{% get_taglist as tags for 'yourapp' %}
对于模型的标记,只需执行以下操作:
{% get_taglist as tags for 'yourapp.yourmodel' %}
无论您做什么,都会在tagstemplate变量中有一个标记列表。现在可以对其进行迭代:
<ul> {% for tag in tags %} <li>{{tag}} ({{tag.num_times}})</li> {% endfor %} <ul>
如您所见,每个标记都有一个属性num_times,该属性声明它被使用了多少次。标记列表按num_times降序排列。
包含标签
为了方便起见,这里有一个包含标签。它是模拟的。例如,对于模型的标记列表,只需执行以下操作:
{% include_taglist 'yourapp.yourmodel' %}
标语云
一种非常流行的浏览标签的方法是tagcloud。此应用程序为此提供了一些标记:
{% get_tagcloud as tags %}
或:
{% get_tagcloud as tags for 'yourapp' %}
或:
{% get_tagcloud as tags for 'yourapp.yourmodel' %}
恭敬地。生成的标记列表按其name属性排序。除了num_items属性之外,还有一个weight属性。它的最大值和最小值可以指定为settings区间读数。
包含标签
即使对于tagcloud,也有包含标记。例如,对于模型的标记云,只需执行以下操作:
{% include_tagcloud 'yourapp.yourmodel' %}
设置
有几个设置要设置:
- taggit_tagcloud_min(默认值:1.0)
- 指定TagCloud标记的权重属性的最小值。
- taggit_tagcloud_max(默认值:6.0)
如果您想使用粗细作为字体大小,请执行以下操作:
<font size={{tag.weight|floatformat:0}}>{{tag}}</font>
所以权重被转换成整数值。
谢谢
多亏了python和django社区,特别是Alex Gaynor,一个django-taggit的发明者和一个很好的争论对象。