配置讲师详情页


继承继承base页面

{% extends 'base.html' %}
{% block title %}课程讲师列表 - X.xx在线网{% endblock %}
{% load staticfiles %}
{% block custom_bread %}<section><div class="wp"><ul  class="crumbs"><li><a href="/">首页</a>></li><li>课程讲师</li></ul></div></section>
{% endblock %}

配置改动部分

{% block content %}<section><div class="wp butler_list_box list"><div class='left'><div class="butler_list layout"><div class="head"><ul class="fl tab_header"><li {% if sort == '' %}class="active"{% endif %}><a href="?sort=">全部</a> </li><li {% if sort == 'hot' %}class="active"{% endif %}><a href="?sort=hot">人气 ↓</a></li></ul><div class="fr butler-num">共<span class="key">{{ teacher_nums }}</span>人   </div></div>{% for teacher in all_teachers.object_list %}<dl class="des"><dt><a href="{% url 'org:teacher_detail' teacher.id %}"><div class="picpic"><img width="100" height="100" class="scrollLoading" src="{{ MEDIA_URL }}{{ teacher.image }}"/></div></a><div class="btn"><div class="fr btn2 bdsharebuttonbox"data-text="授课教师-奥巴马-慕学在线"data-desc="我在#慕课网#发现了教师“奥巴马”,对学习中的小伙伴很有帮助,一起来看看吧。"data-comment="奥巴马金牌讲师,从业年限:5年"><span class="fl">分享</span><a href="#" class="bds_more" data-cmd="more"></a></div></div></dt><dd><a href="{% url 'org:teacher_detail' teacher.id %}"><h1>{{ teacher.name }}<span class="key picbig">金牌讲师</span></h1></a><ul class="cont"><li>工作年限:<span>{{ teacher.work_years }}年</span></li><li>工作职位:<span>{{ teacher.work_position }}</span></li><li>就职公司:<span>{{ teacher.work_company }}</span></li><li>年龄:<span>{{ teacher.age }}</span></li><li>教学特点:<span>{{ teacher.points }}</span></li></ul></dd><a class="buy buyservice" href="{% url 'org:teacher_detail' teacher.id %}"><br/>查看<br/>详情</a></dl>{% endfor %}</div><div class="pageturn"><ul class="pagelist">{% if all_teachers.has_previous %}<li class="long"><a href="?{{ all_teachers.previous_page_number.querystring }}">上一页</a></li>{% endif %}{% for page in all_teachers.pages %}{% if page %}{% ifequal page all_teachers.number %}<li class="active"><a href="?{{ page.querystring }}">{{ page }}</a></li>{% else %}<li><a href="?{{ page.querystring }}" class="page">{{ page }}</a></li>{% endifequal %}{% else %}<li class="none"><a href="">...</a></li>{% endif %}{% endfor %}{% if all_teachers.has_next %}<li class="long"><a href="?{{ all_teachers.next_page_number.querystring }}">下一页</a></li>{% endif %}</ul></div></div><div class="right layout"><div class="head">讲师排行榜</div>{% for hot_teacher in sorted_teacher %}<dl class="des"><span class="num fl">1</span><a href="/diary/hk_detail/6/"><dt><img width="50" height="50" class="scrollLoading"  src="{{ MEDIA_URL }}{{ hot_teacher.image }}"/></dt></a><dd><a href="/diary/hk_detail/6/"><h1 title="{{ hot_teacher.name }}">{{ hot_teacher.name }}</h1></a><p>工作年限:<span>{{ hot_teacher.work_years }}年</span></p></dd></dl>{% endfor %}</div></div>
</section>
{% endblock %}

项目目录配置URL


机构app中配置URL


编写视图函数

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')
        # 排行榜讲师
        sorted_teacher = Teacher.objects.all().order_by('-click_nums')[:3]
        # 对课程讲师进行分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1
        p = Paginator(all_teachers, 3, request=request)
        teachers = p.page(page)
        teacher_nums = all_teachers.count()
        return render(request, 'teachers-list.html', {
            'all_teachers': teachers,
            'sort': sort,
            'sorted_teacher': sorted_teacher,
            'teacher_nums': teacher_nums})

class TeacherDetailView(View):
    """
        讲师详情页
    """
    def get(self, request, teacher_id):
        teacher = Teacher.objects.get(id=int(teacher_id))
        all_course = Course.objects.filter(teacher=teacher)
        # 排行榜讲师
        sorted_teacher = Teacher.objects.all().order_by('-click_nums')[:3]
        return render(request, 'teacher-detail.html', {
            'teacher': teacher,
            'all_course': all_course,
            'sorted_teacher': sorted_teacher})

(七)Django 在线平台(详情页配置)相关推荐

  1. Django 快速搭建博客 第七节(文章详情页,markdown语法)

    版权声明: 更多最新原创文章请访问:最新原创主页 更多最全原创文章请访问:更多原创主页 上一节我们把真正的index.html显示出来了,只是一个摘要,接下来我们要做的是当我们点击标题或者继续阅读的时 ...

  2. 使用django框架完成详情页和列表页

    1.列表页 view def schools(request):data=[{"id":1,"name":"中原工学院","add ...

  3. Django项目-商品详情页

    商品详情页分析和准备 1.商品分类 2.面包屑 3.热销排行 4.商品名字.价格.数量.规格(颜色,内存,) 总价(和数量有关系) 5.商品详情 规格与包装 售后服务 6. 商品评价(完成下单后) 商 ...

  4. 【Vue项目复习笔记】详情页的展示

    一.跳转详情页并携带iid 1.点击商品跳转到详情页 当我们点击GoodListItem中的每一个item,就跳转到对应的页面.我们首先要做的就是监听GoodsListItem的点击 在GoodsLi ...

  5. vue项目实现从商品列表页跳转详情页后,返回列表页保持页面在原位置,且列表页刷新的方法

    vue项目实现从商品列表页跳转详情页后,返回列表页保持页面在原位置,且列表页刷新的方法 页面跳转后回退保持原位置 App.vue页面中使用keep-alive缓存组件 <template> ...

  6. 第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置

    第三百八十一节,Django+Xadmin打造上线标准的在线教育平台-xadmin全局配置 1.xadmin主题设置 要使用xadmin主题,需要在一个app下的adminx.py后台注册文件里,写一 ...

  7. 【Django在线教育平台】04.模板配置,完成用户登录相关页面和逻辑

    专题:Django2.0.8+xadmin2实现在线学习网站 Django2.0.8+xadmin2实现在线学习网站,课程.讲师.机构.用户收藏功能.GitHub地址:https://github.c ...

  8. django博客项目8:文章详情页

    首页展示的是所有文章的列表,当用户看到感兴趣的文章时,他点击文章的标题或者继续阅读的按钮,应该跳转到文章的详情页面来阅读文章的详细内容.现在让我们来开发博客的详情页面,有了前面的基础,开发流程都是一样 ...

  9. Django博客--4.开发博客文章详情页

    文章目录 0.思路引导 1.设计文章详情页的 URL 2.获取文章的URL 3.编写 detail 视图函数 4.编写详情页模板 5.更改主页中跳转详情页的地址链接 6.模板继承--抽取base.ht ...

最新文章

  1. 数据加载很慢_Vaex真香!几秒钟就能处理数十亿行数据,比Pandas、Dask更好用
  2. python 用matplotlib.pyplot画(绘制)图表时中文显示不出来怎么办?
  3. 使用C语言将一个数组首尾互换后输出,函数实现体会地址传递
  4. java的this关键字理解
  5. centos7php自启动,centos7系统下nginx安装并配置开机自启动操作
  6. 获取Authorize.Net Transaction Key ( Getting Your Authorize.Net Transaction Key )
  7. 江苏海洋大学计算机知识竞赛,厦门大学第十届海洋知识竞赛重磅来袭!
  8. Java线程池 - 问题驱动学习
  9. TongWeb和Tomcat的区别
  10. C++ malloc头文件
  11. 移动前端开发和web前端开发的区别
  12. 离线语音控制命令识别,全向麦、会议蓝牙音箱方案
  13. 逐飞K66核心板+逐飞DAP下载器调试方式及接线(SWD)
  14. echarts 3D圆柱形图 实现简单 带图例完美显示隐藏
  15. MySQL必知必会(1)
  16. PHP 阿里云OpenAPI签名[RPC 调用机制]·一键登录取号[云通信号码认证服务]
  17. 【打开方式问题解决】该文件没有与之关联的应用来执行该操作。请安装应用,若已经安装应用,请在“默认应用设置“页面中创建关联。
  18. Ansible Automation Platform - 在 RHEL 安装 Ansible Automation Platform 2.3 环境
  19. php短信接口怎么使用_PHP代码示例_PHP短信接口 | 微米-中国领先的短信彩信接口平台服务商...
  20. swagger使用报错:No enum constant org.springframework.web.bind.annotation.RequestMethod.Get

热门文章

  1. 瀑布流插件vue-masonry
  2. 希捷和西数移动硬盘哪个好_移动硬盘选择希捷还是西数?很多人的想法其实都错了!...
  3. 访问控制列表--基于时间的ACL、动态ACL
  4. 采煤机远程监测与故障诊断系统
  5. 游戏角色数据分析c语言,原神1.1版本主要输出角色90级毕业数据汇总
  6. 原来可以提取Sql查询分析器...
  7. Excel 下拉菜单
  8. 新年扯皮以及一些比较正经的东西
  9. 复旦数据院副院长阳德青:知识图谱在个性化推荐系统中的应用
  10. Jira 的笨重,导致了软件巨头 Atlassian 走上下坡路?