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/“无序列表”

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

推荐PyPI第三方库


热门话题
java Vert。x垂直通道和服务之间的差异   java第二个活动从第一个活动调用后不调用   java如何在运行时从文件夹加载jar文件&在JBoss EAP 6.0.1中实例化类   Windows上带Java的GTK   java SocketException与改进   java计算通过if语句的学生人数我应该在if语句中输入什么?   java显示收到的推送通知   java纹理三角形,仅渲染一种颜色   读取布尔值时发生java输入不匹配异常   在Maven中安装插件时发生java错误   java Mockito InvalidUseofMatcherException   java类型的安卓 Apache。无法将lang.string转换为JSON对象   车牌图像的javaopencv分割   java如何在没有ModelAndView对象的情况下将数据绑定到视图   java确定两个顶点是否连接jGraphX