[py][mx]实现按照课程机构排名,按照学习人数排名

Posted 毛台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[py][mx]实现按照课程机构排名,按照学习人数排名相关的知识,希望对你有一定的参考价值。

原型是

实现效果

因为要按照这两个指标排名, 模型中现在还没有这2个字段(整数),所以需要修改模型.

修改模型,添加2个排序指标的字段

class CourseOrg(models.Model):
...
    students = models.IntegerField(default=0,verbose_name="学习人数")
    course_nums = models.IntegerField(default=0,verbose_name="课程数")

修改views实现排序,返回排序结果,返回sort的值判断显示高亮


class OrgView(View):  # 课程机构列表页
    def get(self, request):
        all_orgs = CourseOrg.objects.all()  # 所有课程机构
...
        sort = request.GET.get("sort", "") ## 获取到前端传过来的关键字sort的值
        if sort == "students":
            all_orgs = all_orgs.order_by("-students")  # 按照学生数倒序排列
        elif sort == "courses":
            all_orgs = all_orgs.order_by("-course_nums")  # 按照课程数倒序排列
...
        org_nums = all_orgs.count()  # 多少家课程机构
...
        return render(request, \'org-list.html\', {
...
            \'sort\': sort
        })

模板修改

  • 修改链接
<a href="?sort=courses&ct={{ category }}&city={{ city_id }}">按课程数排名</a>

注: 需要记住上面按照机构类别和所在地区的结果(本质上是记住上面筛选的链接)

  • 根据后端返回的sort的值来判别颜色显示
<p class="{% ifequal sort \'\' %}bgColor{% endifequal %}">
    <div>
        <p class="{% ifequal sort \'\' %}bgColor{% endifequal %}"><a href="?&ct={{ category }}&city={{ city_id }}">全部</a></p>
        <p class="{% ifequal sort \'students\' %}bgColor{% endifequal %}"><a href="?sort=students&ct={{ category }}&city={{ city_id }}">按学习人数排名</a></p>
        <p class="{% ifequal sort \'courses\' %}bgColor{% endifequal %}"><a href="?sort=courses&ct={{ category }}&city={{ city_id }}">按课程数排名</a></p>
        <strong>共{{ org_count }}家</strong>
        <ul>
            {% for course_org in all_orgs.object_list %}
                <li><img src="{{ MEDIA_URL }}{{ course_org.image }}" alt=""></li>
                <li>{{ course_org }}</li>
            {% endfor %}
        </ul>
        <p>{{ all_orgs.render }}</p>
    </div>

以上是关于[py][mx]实现按照课程机构排名,按照学习人数排名的主要内容,如果未能解决你的问题,请参考以下文章

[py][mx]django添加后台课程机构页数据-图片上传设置

最新ACM Fellow名单发布,唐杰等4名中国大陆学者当选,中国机构入选人数排名第二

关于php redis的问题 hash结构

[py][mx]django模板继承-课程列表页

软件产品性能测试多少钱?2020年软件测试机构最新排名

第三百七十五节,Django+Xadmin打造上线标准的在线教育平台—创建课程机构app,在models.py文件生成3张表,城市表课程机构表讲师表