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,
})
前端展示

24、Django实战第24天:讲师列表页的更多相关文章
- mxonline实战13,授课讲师列表页,详情页,index页面全局导航
对应github地址:第13天 把teacher-list.html和teacher-detail.html拷贝过来 一. 授课讲师列表页 1. 修改html文件 把org-list.ht ...
- 微信小程序 项目实战(三)list 列表页 及 item 详情页
1.项目结构 2.list 列表页 (1)数据(逻辑) list.js // pages/list/list.js Page({ /** * 页面的初始数据 */ data: { title: '加载 ...
- [Django实战] 第8篇 - 分页列表
当用户登录成功后,首先看到的是他自己之前提交的任务列表,本篇将实现该页面. 视图(views.py)里定义如下: from django.core.paginator import Paginator ...
- 14、Django实战第14天:列表筛选功能
今天完成的是点击这些条件进行机构的筛选 首先来完成城市:当用户点击城市的时候,我们自动给它加一个参数(city.id) 编辑organization.views.py 刷新页面,发现筛选功能已经OK了 ...
- 25、Django实战第25天:讲师详情页
1.复制teacher-detail.html到templates目录下 2.编辑teacher-detail.html,继承base.html 3.编辑organization.view.py cl ...
- iOS 杂笔-24(常用类到NSObject的继承列表)
iOS 杂笔-24(常用类到NSObject的继承列表) NSString NSObject->NSString NSArray NSObject->NSArray ↑OC基本类都直接继承 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)]
[易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)] 项目实战 实战2:命令行工具minigrep 有了昨天的基础,我们今天来开始另一个稍微有点 ...
- 19、Django实战第19天:课程列表页
从今天开始,我们将完成"公开课"课程的相关功能..... 1.把course-list.html复制到templates目录下 2.这个页面的头部.底部与之前定义的base.htm ...
- 13、Django实战第13天:分页列表功能
我们看课程 机构列表页是需要分页的 为了完成分页功能,我们需要用到Django的一个开源开发库django-pure-pagination workon mxonline pip install dj ...
随机推荐
- dns服务 很多问题,后续再研究
慕课网:http://www.imooc.com/video/5220 参考:http://jingyan.baidu.com/article/870c6fc32c028eb03fe4be30.htm ...
- Asp.net MVC Combres的简单用法
第一步:添加nuget包 [1]添加 nuget包后,会自动在 webconfig里面 添加配置文件(不用改) <section name="dotless" type=&q ...
- Windows2008 – Task Scheduler – ‘Action “C:\Windows\SYSTEM32\cmd.exe” with return code 1’
Remediation Edit Task Let us make the necessary changes, which is to specify the Start folder. Here ...
- iconfont字体图标
1.1.进入阿里图标网站 http://www.iconfont.cn/ 1.2.在购物车里添加自己需要的字体图标 1.3.下载代码 1.4.解压过后,找到iconfont.css,放在你的项目里,需 ...
- MyBatis的SQL语句映射文件详解(三)----多参数传递的几种方式
1.单一基本类型参数(String,int等) 单一的基本类型参数,将对应语句中的parameterType的值与参数的类型相同.然后直接 用“#{参数名}” 来获取 java代码 //String类 ...
- JSON各种转换总结
JSONObject,JSONArray,Map,String之间转换 http://blog.csdn.net/superit401/article/details/51727739 1.Strin ...
- Spring - IoC(12): 属性占位符
使用属性占位符可以将 Spring 配置文件中的部分元数据放在属性文件中设置,这样可以将相似的配置(如 JDBC 的参数配置)放在特定的属性文件中,如果只需要修改这部分配置,则无需修改 Spring ...
- swift mac 使用git, 并使用osc, 打开当前目录命令在终端输入 open . windows 下为start .
使用git.osc而不用github, 因为在osc里面可以设置私有项目,而不需要公开. ssh-keygen -t rsa -C "email@email.com" mac下生成 ...
- unet中可视性检查的一些笔记
最近在尝试用unet做一个局域网游戏,游戏的核心概念在于玩家之间的发现和隐蔽,有个类似于战争迷雾的机制. 实现该机制最关键的是实现可视性检查.首先是unet中默认的一个可视性检查,由组件Network ...
- bzoj 1880 最短路
我们首先知道,答案肯定是最短路图中的某段公共链,那么设(x,y)为x到y的最短路,那么答案为((s1,t1)+(s2,t2)-min((s1,s2)+(t1,t2),(s1,t2),(s2,t1))) ...