基于web.py的无限分类哦

这里做了一个专门生成分类树的递归函数

还有一个获取文章的函数

数据库,依然需要id和pid两个必备字段

模型部分

 

#-*-coding:utf-8-*-import web
from settings import db
from settings import page_size


this_tree =[]def tree(data, pid=0, count=0):for key in data:if key.pid == pid:
            key.count = count
            this_tree.append(key)
            tree(data, key.id, count +1)return this_tree


def get_all_category():#不转成list,就只能循环一次.因为要做递归,所以这里需要list()一下
    category = list(db.select('category', order='`pid` asc, `order` asc, id asc'))
    category_tree = tree(category)[:]del this_tree[:]return category_tree

控制器部分

 

 

#-*-coding:utf-8-*-import web
import model
from web import storage
from settings import render_admin as render

j = storage(app='content/')class category:@login_requiredef GET(self):
        j.category = model.get_all_category()return render('category',**j)

 

 

模板部分

 

{% for c in category%}
<tr><tdclass='name'>
        {{ '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' * c.count }}
        <ahref="#"target="_blank"title="ID={{ c.id }}"class="tip-top">
            {{ c.name }}
        </a></td></tr>
{% endfor %}

 

 

 

大功告成,就这么容易

武汉长乐未央网络科技,版权所有,转载请注明.

posted on 2013-09-06 16:40  黑客&艺术家  阅读(70)  评论(0)    收藏  举报