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)
>指定TayCube标签的权重属性的最大值。

如果您想使用粗细作为字体大小,请执行以下操作:

<font size={{tag.weight|floatformat:0}}>{{tag}}</font>

所以权重被转换成整数值。

谢谢

多亏了python和django社区,特别是Alex Gaynor,一个django-taggit的发明者和一个很好的争论对象。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
添加到Linkedlist后int与Integer的java比较不起作用   服务器启动时来自tomcat的java通知回调   在java中如何将float转换为double?   使用Java数据Bean连接到Siebel时出错   我如何反对像Java这样的强类型语言中的Ducktyping呢?   运行vert的json。x与java安全管理器   java大O表示法解释嵌套while循环   配置My gradle java项目找不到log4j2。json   验证我需要编写一个包含特殊字符和0到9的数字的java字符串来验证密码   java Univocity解析器:从这里调用函数无效:parserSettings。选择字段(*some_function*);   java在MVC上应用TDD   运行时的java按钮开关   Java8:如何流式处理int数组、提取低位字节和创建字节数组   linux无法在从Java启动的子进程中为SIGQUIT设置信号处理程序   Gradle具有真正混合的java和scala源代码