zoukankan      html  css  js  c++  java
  • 24、Django实战第24天:讲师列表页

    1、复制teracher-list.html到templates目录下

    2、编辑teacher-list.html,继承base模板

    3、编辑organization.views.py

    ...
    from .models import Teacher
    
    class TeacherListView(View):
        def get(self, request):
            all_teachers = Teacher.objects.all()
            return render(request, 'teachers-list.html', {
                'all_teachers': all_teachers,
            })

    4、配置url,编辑organization.urls.py

    ...
    from .views import TeacherListView
    
    urlpatterns = [
        ...
        url(r'teacher/list/$', TeacherListView.as_view(), name='teacher_list' ),
    
    ]

    5、修改index.html,base.html中的授课教师链接

     6、先把所有的讲师都展示出来

    分页

    编辑organization.views.py

    class TeacherListView(View):
        def get(self, request):
            all_teachers = Teacher.objects.all()
                   
            # 分页
            try:
                page = request.GET.get('page', 1)
            except PageNotAnInteger:
                page = 1
            p = Paginator(all_teachers, 2, request=request)
            teachers = p.page(page)
    
            return render(request, 'teachers-list.html', {
                'all_teachers': teachers,
            })

    编辑前端页码

    修改前面的展示教师列表

    人气排序 和统计教师

    编辑organization.views.py

    class TeacherListView(View):
        def get(self, request):
            all_teachers = Teacher.objects.all()
            
            # 人气排序
            sort = request.GET.get('sort', '')
            if sort:
                if sort == 'hot':
                    all_teachers = all_teachers.order_by('-click_nums')
            
            # 统计教师数
            teacher_nums = all_teachers.count()
    
            # 分页
            try:
                page = request.GET.get('page', 1)
            except PageNotAnInteger:
                page = 1
            p = Paginator(all_teachers, 2, request=request)
            teachers = p.page(page)
    
            return render(request, 'teachers-list.html', {
                'all_teachers': teachers,
                'sort': sort,
                'teracher_nums': teacher_nums
            })

    前端配置

    讲师排行榜

    编辑organization.views.py

    class TeacherListView(View):
        def get(self, request):
            all_teachers = Teacher.objects.all()
    
            # 人气排序
            sort = request.GET.get('sort', '')
            if sort:
                if sort == 'hot':
                    all_teachers = all_teachers.order_by('-click_nums')
    
            # 统计教师数
            teacher_nums = all_teachers.count()
            
            # 讲师排行榜
            rank_teachers = all_teachers.order_by('-click_nums')[:2]
    
            # 分页
            try:
                page = request.GET.get('page', 1)
            except PageNotAnInteger:
                page = 1
            p = Paginator(all_teachers, 2, request=request)
            teachers = p.page(page)
    
            return render(request, 'teachers-list.html', {
                'all_teachers': teachers,
                'sort': sort,
                'teracher_nums': teacher_nums,
                'rank_teachers': rank_teachers,
            })

    前端展示

  • 相关阅读:
    两个有序数组,找第k小的数//未完
    top详解--查看cpu及内存使用情况
    查看IO情况
    hadoop常用的调优参数
    zookeeper 的 javaAPI
    MapReduce优化
    mySQL索引数据数据结构 B+ 树
    P2670 [NOIP2015 普及组] 扫雷游戏
    P1887 乘积最大3
    1299. 五指山
  • 原文地址:https://www.cnblogs.com/sellsa/p/8643160.html
Copyright © 2011-2022 走看看