[py][mx]django实现课程机构排名

如果是第一次做这个玩意,说实话,确实不知道怎么弄, 做一次后就有感觉了

此前我们已经完成了:

  • 分类筛选
  • 分页

这次我们做的是

  • 课程机构排名

知识点:

- 按照点击数从大到小排名, 取出前三名
hot_orgs = all_orgs.order_by("-click_nums")[:3]


- 模板中for语句会自动产生forloop变量,可以计数,用来显示排名
<p>{{ forloop.counter }}</p>

授课机构排名

orgView

安装点数从大到小取top3

class OrgView(View):  # 课程机构列表页
    def get(self, request):
        all_orgs = CourseOrg.objects.all()  # 所有课程机构

        # 根据click_nums筛选热门课程
        hot_orgs = all_orgs.order_by("-click_nums")[:3]

        return render(request, 'org-list.html', {
            'hot_orgs': hot_orgs
        })

org-list.html

{#    热门机构#}
    <div>
        <p>课程机构排名</p>
        {% for hot_org in hot_orgs %}
            <p>{{ forloop.counter }}</p>
            <p><a href=""><h1>{{ hot_org.name }}</h1></a></p>
            <p>{{ hot_org.address }}</p>
        {% endfor %}

    </div>
posted @ 2018-02-08 21:38  mmaotai  阅读(158)  评论(0编辑  收藏  举报