首页 > web开发 > 正文

django regroup

时间:04-08 来源:老王python, 标签:django

django regroup 可以让你在django template 里按照分组的逻辑来显示数据,这对我们要按照归类的方式来显示 数据非常的好,比如我们想在模板里显示: 一个国家: 一个国家所包括的城市 另外一个国家: 另外一个国家包括的城市 假如我们的model是这样设计的:


class Info(models.Model):
    country = models.CharField('国家', max_length=50)
    num = models.CharField('国家代号', max_length=50)
    city = models.CharField('所在城市', max_length=50)

而我们根据这个model设计出来的表的结构是: id country num city 1 china 001 beijing 2 china 002 shanghai 3 china 003 chongqing 4 us 005 New York ... 那我们想得到下面的结果: china: 001 002 003 us: 005 那要怎么实现呢,请你继续往下看代码把: view.py:


info = Info.objects.all()
return render_to_response('city.html', {'info':info})

#上面的view不用直接进行逻辑处理,只要直接把数据给模板就可以。

#现在关键看看template模板的处理把:

{% regroup info by country as grouped %}

{% for country in grouped %}

{{ country.grouper }}
{% for c in country.list %}

{{ c.num }}
{% endfor %}

{% endfor %}

希望上面的讲解让你对django regroup有一个比较好的理解,希望你下次要实现某种功能的时候能用到,没事的时候可以

老王python提供python基础教程,爬虫,seo工具,excel相关开发教程。

Copyright © 2020 www.cnpythoner.com All rights reserved. 赣ICP备19013357号-1基于python+django开发