city和课程机构信息展示到前台去

organization/views.py

  1. from django.views.generic.base import View
  2. from organization.models import CourseOrg, CityDict
  3. class OrgView(View): # 课程机构列表页
  4. def get(self, request):
  5. all_orgs = CourseOrg.objects.all()
  6. all_citys = CityDict.objects.all()
  7. return render(request, 'org-list.html', {
  8. "all_orgs": all_orgs,
  9. "all_citys": all_citys
  10. })
  1. path('org_list/', org_views.OrgView.as_view(), name="org_list"),

前端修改

  1. <img src="{{ MEDIA_URL }}{{ course_org.image }}

前端要想获取到{{ MEDIA_URL }}变量,后端settings必须配置

  1. 'OPTIONS': {
  2. 'context_processors': [
  3. 'django.template.context_processors.debug',
  4. 'django.template.context_processors.request',
  5. 'django.contrib.auth.context_processors.auth',
  6. 'django.contrib.messages.context_processors.messages',
  7. 'django.template.context_processors.media', #将MEDIA_URL变量注入到模板 参考: https://docs.djangoproject.com/en/2.0/ref/templates/api/
  8. ],
  9. },
  1. {% block content %}
  2. {# 机构类别 #}
  3. <div>
  4. <p>机构类别: 全部 培训结构 高校 个人</p>
  5. </div>
  6. {# 城市 #}
  7. <div>
  8. <p>城市:{% for city in all_citys %}
  9. {{ city.name }}
  10. {% endfor %}
  11. </p>
  12. </div>
  13. {# 课程机构 #}
  14. <div>
  15. <ul>
  16. {% for course_org in all_orgs %}
  17. <li><img src="{{ MEDIA_URL }}{{ course_org.image }}" alt=""></li>
  18. {% endfor %}
  19. </ul>
  20. </div>
  21. {% endblock %}

静态图片展示

urls.py

  1. from django.views.static import serve
  2. # 课程机构
  3. path('org_list/', org_views.OrgView.as_view(), name="org_list"),
  4. ## 配置上传文件的访问处理函数 这里使用django内置的serve来返回MEDIA_ROOT
  5. url(r'^media/(?P<path>.*)', serve, {'document_root':MEDIA_ROOT}),

机构封面图的url已经解析正常

可见至少课程机构封面图和城市已经展示出来了.

完整的org-list.html

  1. {% extends 'base.html' %}{# 一定要出现在第一行 #}
  2. {% load staticfiles %}
  3. {% block title %}
  4. 课程列表
  5. {% endblock %}
  6. {% block custom_bread %}
  7. <div>
  8. <ul>
  9. <li><a href="">首页</a>>课程机构</li>
  10. </ul>
  11. </div>
  12. {% endblock %}
  13. {% block content %}
  14. {# 机构类别 #}
  15. <div>
  16. <p>机构类别: 全部 培训结构 高校 个人</p>
  17. </div>
  18. {# 城市 #}
  19. <div>
  20. <p>城市:{% for city in all_citys %}
  21. {{ city.name }}
  22. {% endfor %}
  23. </p>
  24. </div>
  25. {# 课程机构 #}
  26. <div>
  27. <ul>
  28. {% for course_org in all_orgs %}
  29. <li><img src="{{ MEDIA_URL }}{{ course_org.image }}" alt=""></li>
  30. {% endfor %}
  31. </ul>
  32. </div>
  33. {% endblock %}

[py][mx]django课程页显示city和机构封面图的更多相关文章

  1. [py][mx]django课程模型

    课程模型分析 分3个表 先设计课程表, 这是1 在设计lesson表,添加一个外键,course. 课程 1 course 章节 n lesson 视频 n video 资源 n coursereso ...

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

    分析下课程页前台部分 机构类别-目前机构库中没有这个字段,需要追加下 所在地区 xadmin可以手动添加 课程机构 涉及到机构封面图, 即图片上传media设置, 也需要在xadmin里手动添加几条 ...

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

    课程列表页分析 1,机构类型 2,所在地区 3.排序 学习人数 先分析下 纵观页面,页头页脚都一样. django提供了模板继承. 至少 不同页面的title 面包屑路径 content内容不一致,以 ...

  4. [py][mx]django分页第三方模块django-pure-pagination

    前台的这些数据都是从后台取来的 分页模块django-pure-pagination - 一款基于django pagination封装的更好用的分页模块 https://github.com/jam ...

  5. [py][mx]django项目-让系统用自定义的users表认证

    项目开端 参考的是mxonline项目 先把这两项完成 1.app设计 2.app的models的设计 经过分析系统有四个模块 users - 用户管理 course - 课程管理 oranizati ...

  6. [py][mx]django城市-教学机构-教师模型设计

    分析下城市-教学机构-教师模型设计 CourseOrg 课程信息 Teacher 教师信息 CityDict 城市信息 代码 from datetime import datetime from dj ...

  7. [py][mx]django处理登录逻辑

    浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...

  8. [py][mx]django自定义认证类-实现邮箱作为用户名登录

    创建自定义验证用户名密码类CustomBackend users/views.py from django.contrib.auth import authenticate, login from d ...

  9. [py][mx]django form验证-给db减压

    django form认证-解压db压力 一般系统都需要前后端都验证 前端验证容器逃逸破解,如通过js console口去发 试想如果后端只有db验证,那么前端无论发什么后端都查询一次db,对db压力 ...

随机推荐

  1. 解决Sublime Text 3中文显示乱码问题(转)

    解决Sublime Text 3中文显示乱码问题(转) 1.打开Sublime Text 3,按Ctrl+-打开控制行,复制粘贴以下python代码,然后回车运行. 2. 复制并粘贴如下代码: 2.重 ...

  2. SqlServer 连接远程服务器数据库 实现跨服务器联合查询

    第一种: exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'IT ...

  3. Delphi2010中DataSnap技术

    文章来源: https://blog.csdn.net/xieyunc/article/details/47865227?_t_t_t=0.3049736963513836 一.为DataSnap系统 ...

  4. canvas练习 - 圆

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. jade(pug)学习笔记(待填充.......)

    深刻认识到总结知识点的重要性,不然遇到似曾相识的问题,要翻老半天的百度才能解决.20171018 pug——文字内部嵌入结构 比如: <a class = "href"> ...

  6. Android NDK学习(2)Windows下NDK开发环境配置

    转:http://www.cnblogs.com/fww330666557/archive/2012/12/14/2817386.html 一.配置好Android开发环境 二.下载安装安卓NDK   ...

  7. 浅谈P2P、P2C 、O2O 、B2C、B2B、 C2C的区别

    相信有很多人对P2P.P2C .O2O .B2C.B2B. C2C不是很熟悉,甚至是云里雾里,每天看着这些常见又陌生的名词,如果有人跟你说 让你解释它的含义,金融的小伙伴们是不是瞬间石化了,尤其是做淘 ...

  8. CF510B Fox And Two Dots(搜索图形环)

    B. Fox And Two Dots time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  9. reserve和resize区别

    reserve是容器预留空间,但在空间内不真正创建元素对象,所以在没有添加新的对象之前,不能引用容器内的元素.加入新的元素时,要调用push_back()/insert()函数. resize是改变容 ...

  10. Ubuntu 16.04系统下解决Vim乱码问题

    方法: 打开终端输入:vim /etc/vim/vimrc,进入编辑模式,加入如下配置: set fileencodings=utf-8,gb2312,gbk,gb18030 set termenco ...