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,
})

前端展示

24、Django实战第24天:讲师列表页的更多相关文章

  1. mxonline实战13,授课讲师列表页,详情页,index页面全局导航

    对应github地址:第13天   把teacher-list.html和teacher-detail.html拷贝过来   一. 授课讲师列表页   1. 修改html文件 把org-list.ht ...

  2. 微信小程序 项目实战(三)list 列表页 及 item 详情页

    1.项目结构 2.list 列表页 (1)数据(逻辑) list.js // pages/list/list.js Page({ /** * 页面的初始数据 */ data: { title: '加载 ...

  3. [Django实战] 第8篇 - 分页列表

    当用户登录成功后,首先看到的是他自己之前提交的任务列表,本篇将实现该页面. 视图(views.py)里定义如下: from django.core.paginator import Paginator ...

  4. 14、Django实战第14天:列表筛选功能

    今天完成的是点击这些条件进行机构的筛选 首先来完成城市:当用户点击城市的时候,我们自动给它加一个参数(city.id) 编辑organization.views.py 刷新页面,发现筛选功能已经OK了 ...

  5. 25、Django实战第25天:讲师详情页

    1.复制teacher-detail.html到templates目录下 2.编辑teacher-detail.html,继承base.html 3.编辑organization.view.py cl ...

  6. iOS 杂笔-24(常用类到NSObject的继承列表)

    iOS 杂笔-24(常用类到NSObject的继承列表) NSString NSObject->NSString NSArray NSObject->NSArray ↑OC基本类都直接继承 ...

  7. [易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)]

    [易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)] 项目实战 实战2:命令行工具minigrep 有了昨天的基础,我们今天来开始另一个稍微有点 ...

  8. 19、Django实战第19天:课程列表页

    从今天开始,我们将完成"公开课"课程的相关功能..... 1.把course-list.html复制到templates目录下 2.这个页面的头部.底部与之前定义的base.htm ...

  9. 13、Django实战第13天:分页列表功能

    我们看课程 机构列表页是需要分页的 为了完成分页功能,我们需要用到Django的一个开源开发库django-pure-pagination workon mxonline pip install dj ...

随机推荐

  1. CCmdUI

    原文链接地址:http://blog.csdn.net/luicha/article/details/6771185 CCmdUI是一个只被使用于ON_UPDATECOMMAND_UI消息的响应函数中 ...

  2. 遇到问题---java---myeclipse中maven项目引用另一个导致的resource文件混乱的问题

    遇到情况 情况是这样的,我们在构建项目时,经常会把一些公用的类和配置提取出去,作为一个公共项目.然后把公共项目作为一个jar包构件引入我们当前的项目中. 引入方式是 <dependency> ...

  3. Js跑马灯效果 && 在Vue中使用

    DEMO: <!DOCTYPE html><html> <head> <title>滚动播报</title> <meta charse ...

  4. 一个JavaScript反射使用的例子

    反射机制指的是程序在运行时能够获取自身的信息.例如一个对象能够在运行时知道自己有哪些方法和属性.在JavaScript中有一个很方便的语法来实现反射,即for(…in…)语句,其语法如下: 1 for ...

  5. POJ1062:昂贵的聘礼(dfs)

    昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 58108   Accepted: 17536 题目链接:http ...

  6. hdu 1520Anniversary party 树形dp入门

    There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The Un ...

  7. CSS中的@ AT规则

    大家可能在CSS中见到过字符@然后加一些关键字的用法,这种用法就称之为AT规则,在CSS中,种类还是很多的,这里总结列举下. 常规规则 所谓“常规规则”指的是语法类似下面的规则: @[KEYWORD] ...

  8. 关于GitHub学习的地方,很明了

    地址: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  9. IOS 上传项目到github 终端操作

    1.创建github账号 2.创建秘钥 3.Github配置秘钥 4.上传文件 复制保存网址 终端操作,如果没有ssh,自行安装 GitHub配置秘钥 克隆github上创建的项目 将自己的本地项目, ...

  10. python中orm框架学习

    安装sqlalchemy pip3 install sqlalchemy 创建表结构: from sqlalchemy import Column,String,create_engine from ...