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

时间:2023-03-09 01:19:07
[py][mx]django实现课程机构排名

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

此前我们已经完成了:

  • 分类筛选
  • 分页

这次我们做的是

  • 课程机构排名

知识点:

- 按照点击数从大到小排名, 取出前三名
hot_orgs = all_orgs.order_by("-click_nums")[:3] - 模板中for语句会自动产生forloop变量,可以计数,用来显示排名
<p>{{ forloop.counter }}</p>

授课机构排名

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

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>