授课机构
筛选:机构类别、所在地区
排序:学习人数、
分页:
我要学习: form 表单的提交
授课机构排名:
页面分析: 页头、页尾 中间是正文内容
所以课程机构页面和其他页面有很多类似之处,都是头+中+尾 eg:授课讲师、首页、公开课、授课机构、授课讲师详情页等等
所以: django对于共用头部、底部的机制
html的组件继承用法
先将header和footer放到header.html和footer.html中去
之后就可以include 进来这部分,中间再完成我们需要的html
{% include “login.html” %}
有一个致命的问题:
这个html是死的。
django为了解决这个问题,产生了一个继承机制。
我们通过定义一个整体的框架,我们将动态的部分定义为一个block ,子类在继承父类的时候,是可以将这个东西继承掉的,只需要在子类的部分进行重写这部分就可以了。
base.html 分析:
共用的部分:静态文件:分别包括images/css/js等
1.在静态文件里面,像是type="text/css"这些,是属于共用的,希望每个页面都可以包含这些。
2.有些页面,是需要新加css的,我们可以在该位置设立css 和js 的block ,等到不同的页面需要不同的css/js时,我们再给相应的页面加就可以了
网页中的面包屑:crumbs
用处是在网页中显示层次或者路径,可以进行重用
最后将base.html中的静态文件通过static 设为动态路径
base.html中的block有:title、custom_css、 custom_js、 custom_bread(这个是面包屑)、content(内容)
使用: 继承与替换
注意点:虽然base.html中已经load staticfiles,但是在继承的模板中还需再load一次。
参数的向上传递:我们从view中向html传递参数,如果传递的页面继承于某个页面,则这个页面的父模板也可使用此变量。
编写列表页的后台逻辑
1. 列表中的机构信息、授课机构排名、所在地区(也为动态数据),机构类别一般为静态数据
上传文件时,Django如何知道将我们的文件存放在哪个路径之下呢?
settings中加入配置
在配置models时候,使用ImageField函数,写入存放位置。
完善课程列表页数据:
1. 首先在xadmin后台创建数据
2. 在get函数中将所需要的数据查询到,向html文件中去传入
3. 在加入image的时候,因为保存的是相对路径,所以有以下配置方法:(*)
配置上传文件的访问处理:
首先在html中找到我们的logo的链接路径打开路线,为
我们需要知道的是,我们如何将一个imagefield转换为一个url地址呢?
在数据库中,image的存取方式是一个字符串,是一个相对路径的地址。
如果直接取出来,
是一个相对路径的地址,并且不能完成图片的存取。我们在变量前加入settings配置的MEDIA_URL取进来。在改settings的时候,这个也就自动改了。
在settings中的templates中加入一个内部处理类。它的功能是把MEIDA_URL导入到html中去。
现在的地址为:上图所示,但是还没有显示出来,是因为还没有配置在meida这个目录之下的url,所以我们配置media的url来专门处理我们meida的信息。
from django.views.static import serve
from MxOnline.settings import MEDIA_ROOT
# 配置上传文件的访问处理函数
url(r'^media/(?P<path>.*)$', serve, {"document_root":MEDIA_ROOT})
分页功能:
github中的: pure-pagination
具体功能,看官方文档,
文档中有个错误:
其中。per_page为必填字段,表示为每一页的显示个数。
筛选功能:
pass
ModelForm的使用
问题: 普通的form.Form 和form.ModelForm 的使用场景有什么不同?
不知道。
通过ajax将局部页面进行刷新。