12、Django实战第12天:课程机构列表页数据展示
今天完成的是课程机构列表页....
1、启动服务,进入xadmin后,添加5个城市信息用作测试数据
2、添加课程机构,其中有一项要上传封面图的地方要注意

封面图上传路径是我们在models中设置好的

在数据表中,我们存放的是相对路径,但是Django怎么知道存在哪个根目录下呢?首先我们现在项目的根目录创建一个文件夹media,我们来把media作为根目录
设置settings.py,配置media
# 在末尾添加此两行 MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
后面在前端页面会使用到{{ MEDIA_URL }}变量,所以还需要在settings.py中的templates配置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.core.context_processors.media', ##添加此行
],
},
},
]
还需要为media配置条url
...
from django.views.static import serve #处理静态文件的函数
from mxonline.settings import MEDIA_ROOT #导入上传文件位置变量 urlpatterns = [
....
# 上传文件的访问处理函数
url(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}), ]
现在添加课程机构,最后会发现:封面图已经保存到我们设定的位置了
添加7个课程机构,用作测试数据

现在我们来看下课程机构的页面127.0.0.1:8000/org_list/, 框住的目前在html中是静态写死的,现在我们要从数据库动态的取出

编辑organization.views.py,把城市和课程机构都取出来
from django.shortcuts import render
from django.views.generic import View from.models import CityDict, CourseOrg class OrgView(View):
def get(self, request):
#城市
all_citys = CityDict.objects.all()
#课程机构
all_orgs = CourseOrg.objects.all()
#机构数
org_nums = all_orgs.count()
return render(request, 'org-list.html', {
'all_orgs': all_orgs,
'all_citys': all_citys,
'org_nums': org_nums,
})
编辑org-list.html:所在地区部分

编辑org-list.html:机构统计部分

编辑org-list.html:课程机构部分,发现每一个课程机构就是一个dl标签包住的,因此我们只需要保留一个dl,然后for 循环。注意这里课程人数和学习人数也要改掉,我忘记改了而已

现在访问前端页面,会发现数据已经是动态获取了

12、Django实战第12天:课程机构列表页数据展示的更多相关文章
- Django(十四)课程机构列表页数据展示,Django的modelform,关于urls的重新分发
关于urls的重新分发: 如果所有url都配置在根路径的urls.py里,会特别多,而且也不易于修改,Django框架里支持urls的重新分发: 1.在根路径的urls配置上: PS:namespac ...
- 24、Django实战第24天:讲师列表页
1.复制teracher-list.html到templates目录下 2.编辑teacher-list.html,继承base模板 3.编辑organization.views.py ... fro ...
- [py][mx]django实现根据城市和课程机构类别过滤
实现根据城市&课程机构过滤 实现点谁谁高亮,支持取交集. 直接上代码吧 本质上是过滤,多层过滤,取交集 def get(self, request): all_orgs = CourseOrg ...
- 17、Django实战第17天:机构详情展示
1.进入xadmin添加测试数据(教师.课程) 2.把以下4个前端页面复制到templates中 先打开这几个页面分析,它们和之前的课程机构列表页是不一样的机构,且没有共同的部分,但是这4个页面却是类 ...
- 13、Django实战第13天:分页列表功能
我们看课程 机构列表页是需要分页的 为了完成分页功能,我们需要用到Django的一个开源开发库django-pure-pagination workon mxonline pip install dj ...
- 25、Django实战第25天:讲师详情页
1.复制teacher-detail.html到templates目录下 2.编辑teacher-detail.html,继承base.html 3.编辑organization.view.py cl ...
- Django实战(12):增加目录页,设定统一布局
针对上一节的新需求,界面设计师还为我们设计了一个新的界面,不仅仅是目录页,还包含了站点的整体风格,如下图: 感谢界面设计师为我们提供的“又黑又硬”的工具条,这个看起来真的很酷.下面,让我们来享用她的工 ...
- Flutter实战视频-移动电商-34.列表页_小BUG的修复
34.列表页_小BUG的修复 当高粱酒的子类没有数据返回的时候就会报错. 解决接口空数据报错的问题 没有数据的时候,给用户一个友好的提示, 我们没有数据的时候还要告诉用户,提示一下他没有数据,在我们的 ...
- Flutter实战视频-移动电商-25.列表页_使用Provide控制子类-1
25.列表页_使用Provide控制子类-1 主要是二级分类的UI布局 1分15秒 生成我们的右侧动态类 定义list变量 开始写里面的子项,把每一个小的写了 再拼成一个大的 这样我们的小类就写完了 ...
随机推荐
- [HDU3710] Battle Over Cities [树链剖分+线段树+并查集+kruskal+思维]
题面 一句话题意: 给定一张 N 个点, M 条边的无向连通图, 每条边上有边权 w . 求删去任意一个点后的最小生成树的边权之和. 思路 首先肯定要$kruskal$一下 考虑$MST$里面去掉一个 ...
- [Leetcode] Path Sum II路径和
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...
- ng的ngModel用来处理表单操作
https://segmentfault.com/a/1190000009126012
- js 加法运算
搜集网友的各种解决办法: 1.parseInt(),parseFloat()等字符串转换函数 2.eval(执行加法的表达式) 3.a-(-b) 因为减法只有算术运算意义 a*1+b a为字符串 a ...
- ContenOS 安装配置 rpm 版本 Jenkins
软件准备: jenkins-2.7.4-1.1.noarch.rpm java环境 安装jenkins: [root@localhost modules]# rpm -ih jenkins-2.7.4 ...
- Spring学习--xml 中 Bean 的自动装配
Spring IOC 容器可以自动装配 Bean. 只要在 <bean> 的 autowire 属性里指定自动装配的模式. byName(根据名称自动装配):必须将目标 Bean 的名称和 ...
- 知问前端——工具提示UI
工具提示(tooltip),是一个非常实用的UI.它彻底扩展了HTML中的title属性,让提示更加丰富,更加可控制,全面提升了用户体验. 调用tooltip()方法 在调用tooltip()方法之前 ...
- Bzoj1313 [HAOI2008]下落的圆盘
有 n 个圆盘从天而降,后面落下的可以盖住前面的.最后按掉下的顺序,在平面上依次测得每个圆盘的圆心和半径,问下落完成后从上往下看,整个图形的周长是多少,即你可以看到的圆盘的轮廓的圆盘的轮廓总长.例如下 ...
- [NOIP2017]列队 (Splay)
题目链接 NOIP2017真的是不按常理出牌: 1.数学题不在Day2T1 2.一道水题一道细节极多的模拟题一道不知道怎么形容的题(小凯的疑惑)(因为我太菜了) 3.3道大火题 当时看到列队这题是毫无 ...
- autoKeras入门
测试本地mnist数据集 图片只用500张,450张做train与50张test, 代码如下: # conding:utf-8 import os os.environ[' import numpy ...