一个简单的Django模板标签(compute_tag_cloud),用于帮助创建标签云。
项目描述
这是什么?
这是一个简单的Django模板标签(名为compute_tag_cloud),用于帮助创建标签云。
简要教程
在您的Django项目中安装应用程序
这应该像这样简单
pip install django-nuages-tag
并将‘django_nuages_tag’添加到您的INSTALLED_APPS设置中。
示例用法
1. 源数据
假设我们有一个my_favourite_tools上下文变量,如下定义:
my_favourite_tools = [{'name': 'Python', 'interest': 30}, {'name': 'Django', 'interest': 70}, {'name': 'Ruby', 'interest': 6}]
注意:示例显示了一个简单的列表,但这也可以与Django QuerySet一起使用。
2. 计算标签云
现在我们可以这样做
{% load django_nuages_tag %} {% compute_tag_cloud my_favourite_tools interest font_size 10 100 lin %}
compute_tag_cloud将为包含在10到100之间且代表interest值的my_favourite_tools中的每个元素添加一个font_size属性。最后一个参数(lin)要求使用线性公式计算此标签云。另一种选择是使用对数公式(使用log参数)。您应该测试这两种选项,但log可能为您提供更好的结果,如果您要计算具有很大差异的值。注意:0和负值将使用两种公式都计算为0。
我们的源数据现在看起来像这样
my_favourite_tools = [{'name': 'Python', 'interest': 30, 'font_size': 43.75}, {'name': 'Django', 'interest': 70, 'font_size': 100}, {'name': 'Ruby', 'interest': 6, 'font_size': 10}]
3. 渲染标签云
这可以通过使用for标签和基本的HTML/CSS非常容易地完成。例如
{% for tool in my_favourite_tools %} <span style="font-size: {{ tool.font_size }}px;"> {{ tool.name }} </span> {% endfor %}
注意
compute_tag_cloud可以连续多次调用以生成多个值。例如,我们可以计算字体大小(在10和55之间),但也可以计算文本的边距(在5和28之间)和透明度(在0.7和1之间),如下所示
{% load django_nuages_tag %} {% compute_tag_cloud my_favourite_tools interest font_size 10 55 lin %} {% compute_tag_cloud my_favourite_tools interest margin 5 28 lin %} {% compute_tag_cloud my_favourite_tools interest opacity 0.7 1 lin %} {% for tool in my_favourite_tools %} <span style="font-size: {{ tool.font_size }}px; margin: {{ tool.margin }}px; opacity: {{ tool.opacity }}">{{ tool.name }}</span> {% endfor %}
counter参数(在我们的示例中为interest)可以是一个属性,一个要调用的方法或一个字典键。
项目详情
关闭
django-nuages-tag-0.1.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c3281395a4369feb8d2a94d0495331c6ec399f4b2f4c576a7f1ae6aef3017004 |
|
MD5 | e181a90e14aa2b7756a2afe703ba8b8f |
|
BLAKE2b-256 | fcc9c13f0c6cc3e0f0ef38b8337cd06dbdb6cc722890c27977393f80b919c7aa |