Django讲课笔记11:视图函数的请求和响应

Posted howard2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django讲课笔记11:视图函数的请求和响应相关的知识,希望对你有一定的参考价值。

零、本讲学习目标

  1. 掌握视图函数的编写
  2. 会使用GET和POST调用视图函数
  3. 会获取请求信息
  4. 会使用Render和HttpResponse响应请求

一、课程导入

  1. 对表进行增删改查
  2. 视图、视图函数和视图类
  • 视图(View)是Django的MTV架构模式的V部分,主要负责用户请求和生成相应的响应内容,然后在页面或其他类型文档中显示。类似于MVC的C(控制器),主要处理功能和业务上的逻辑。
  • 习惯使用视图函数来处理HTTP请求,就是在视图里定义函数,这种方式被称为FBV(Function Based Views)。
  • Django同时也植入了视图类,该功能封装了视图开发常用的代码,无须编写大量代码即可快速完成数据视图的开发,这种以类的形式实现响应和请求处理称为CBV(Class Based Views)。

二、新课讲授

(一)首页的视图函数

1、检查模型 - M

  • 检查以下模型类是否已经定义,如果没有定义,请做相应定义,并进行数据迁移,即在数据库生成相应的表。

(1)商品类型模型 - Types

(2)商品信息模型 - CommodityInfos

(3)购物车模型 - CartInfos

(4)订单模型 - OrderInfos

2、定义视图函数 - indexView

  • 查看商品类型表

  • 查看index功能模块的路由文件(子路由)

  • 根据以上路由定义知,路由名index对应的社图函数为indexView,故在views.py中定义视图函数indexView

  • indexView中10个变量说明

  1. title变量:用于设置网页标签内容,用于html中的title标签中
  2. classContent变量:控制导航栏样式,首页样式设置为class=’active’。
  3. commodityInfos变量:查询模型CommodityInfos销量最高的前8条数据,显示在首页“今日必抢”栏目内。
  4. types变量:查询模型Types的全部数据,用于c1,f1,g1的数据类型筛选。
  5. c1变量:在变量types的基础上,筛选types中“儿童服饰”的所有数据,并以列表格式表示。
  6. clothes变量:以c1做模型CommodityInfos查询条件,获取销量排名前5的数据,并显示在首页“宝宝服饰”栏目。
  7. f1变量: 在变量types的基础上,筛选types中“奶粉辅食”的所有数据,并以列表格式表示。
  8. food变量:以f1做模型CommodityInfos查询条件,获取销量排名前5的数据,并显示在首页“奶粉辅食”栏目。
  9. g1变量: 在变量types的基础上,筛选types中“儿童用品”的所有数据,并以列表格式表示。
  10. goods变量:以f1做模型CommodityInfos查询条件,获取销量排名前5的数据,并显示在首页“宝宝用品”栏目。
  • 最后return设置返回值,把视图函数中定义的变量传递给模板,然后由模板引擎对这些变量进行解析并渲染到网页上。
  • 任务:将types数据渲染到模板页面index.html上
  • 遍历types,显示效果如下所示

三、课堂小结

四、课后作业

五、拓展内容

以上是关于Django讲课笔记11:视图函数的请求和响应的主要内容,如果未能解决你的问题,请参考以下文章

Django视图函数之request请求与response响应对象

Django之视图

django ----视图和路由

Django视图层

Django之视图层

Django----------视图层