django模板中递归的一个简单模块
django-tree-tag的Python项目详细描述
在django模板中,目前还没有很好的方法来实现树结构。
因此,该模块包含一个用于从序列中呈现树的标记。
为此,给出了递归的方法,以及定义开始和结束标记的方法。此模板标记的语法的完整示例如下:
{%load tree tag%}
{%tree item{u seq%}
<;ul>;{indentation section}
{%tree%}{{item start}
<;li>;{{item.description}
{%sub tree item.sub seq%}{子树呈现与整棵树相同的内容
<;/li>;
{%endfor%}{item end
<;/ul>;{outdentation section}
{%endtree%}
截面为:
1。树缩进部分
2。树项部分
3。tree outdentation部分
通过使用“tree`/`endtree`标记
将整个树代码括起来来启动树。“tree”标记需要接收一个参数,一系列项。这个
序列将作为名为“tree”的变量在树中可用。重命名是必要的,这样我们就可以将子树中的序列映射到同一个名称。
这三个部分用一个“for”循环在项上分隔。
例如列表或表的开始标记。
在item部分中,放置呈现该项的所有内容,以及呈现子树的特殊递归标记。“subtree”标记只需要
最后在outdentation部分中,放置关闭树的所有内容,例如
关闭列表或表标记以及树的任何页脚材料。
目前不支持嵌套树(即放置“tree”部分
在另一个“tree”部分中)。
*自制的树展开:https://stackoverflow.com/questions/32044/how-can-i-render-a-tree-structure-recursive-using-a-django-template` include`tag:http://blog.elsdorefer.name/2008/01/22/recursion-in-django-templates/(请不要这样做!)
*对于更简单的情况,内置的“无序列表”过滤器可能就足够了:https://docs.djangoproject.com/en/1.5/ref/templates/builtins/“无序列表”
因此,该模块包含一个用于从序列中呈现树的标记。
为此,给出了递归的方法,以及定义开始和结束标记的方法。此模板标记的语法的完整示例如下:
{%load tree tag%}
{%tree item{u seq%}
<;ul>;{indentation section}
{%tree%}{{item start}
<;li>;{{item.description}
{%sub tree item.sub seq%}{子树呈现与整棵树相同的内容
<;/li>;
{%endfor%}{item end
<;/ul>;{outdentation section}
{%endtree%}
截面为:
1。树缩进部分
2。树项部分
3。tree outdentation部分
通过使用“tree`/`endtree`标记
将整个树代码括起来来启动树。“tree”标记需要接收一个参数,一系列项。这个
序列将作为名为“tree”的变量在树中可用。重命名是必要的,这样我们就可以将子树中的序列映射到同一个名称。
这三个部分用一个“for”循环在项上分隔。
例如列表或表的开始标记。
在item部分中,放置呈现该项的所有内容,以及呈现子树的特殊递归标记。“subtree”标记只需要
最后在outdentation部分中,放置关闭树的所有内容,例如
关闭列表或表标记以及树的任何页脚材料。
目前不支持嵌套树(即放置“tree”部分
在另一个“tree”部分中)。
*对于更简单的情况,内置的“无序列表”过滤器可能就足够了:https://docs.djangoproject.com/en/1.5/ref/templates/builtins/“无序列表”