2019.5.27

学习内容:MVC

########################################################################################

  1.WSGI是web app开发的一个接口,针对每个HTTP请求进行响应。(不再管TCP连接、HTTP原始请求和响应格式)

  2.web框架处理WSGI的函数,我们专注用URL+处理函数(方便维护):Flask、Django

  • Django功能大而全,Flask只包含基本的配置 Django的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。Django有模板,表单,路由,认证,基本的数据库管理等等内建功能。与之相反,Flask只是一个内核,默认依赖于两个外部库: Jinja2 模板引擎和 Werkzeug WSGI 工具集,其他很多功能都是以扩展的形式进行嵌入使用。

  • Flask 比 Django 更灵活 用Flask来构建应用之前,选择组件的时候会给开发者带来更多的灵活性 ,可能有的应用场景不适合使用一个标准的ORM(Object-Relational Mapping 对象关联映射),或者需要与不同的工作流和模板系统交互。

  3.MVC:Model-View-Controller,中文名“模型-视图-控制器”:

    Web App最复杂的部分就在HTML页面。HTML不仅要正确,还要通过CSS美化,再加上复杂的JavaScript脚本来实现各种交互和动画效果。使用模板,我们需要预先准备一个HTML文档,这个HTML文档不是普通的HTML,而是嵌入了一些变量和指令,然后,根据我们传入的数据,替换后,得到最终的HTML,发送给用户。

  Python处理URL的函数就是C:Controller,Controller负责业务逻辑,比如检查用户名是否存在,取出用户信息等等;

  包含变量{{ name }}的模板就是V:View,View负责显示逻辑,通过简单地替换一些变量,View最终输出的就是用户看到的HTML。

  Model是用来传给View的,这样View在替换变量的时候,就可以从Model中取出相应的数据。

  通过MVC,我们在Python代码中处理M:Model和C:Controller,而V:View是通过模板处理的,这样,我们就成功地把Python代码和HTML代码最大限度地分离了。

  模板改起来很方便,而且,改完保存后,刷新浏览器就能看到最新的效果。

常见模块:jinja2(模仿Django)、Django、Mako、Cheetah

转载于:https://www.cnblogs.com/marvintang1001/p/10930584.html

python_Day5_web开发(下)相关推荐

  1. DARPA宣布未来五年将投资20亿美元开发下一波人工智能技术

    来源:国防科技信息网 作者:丁宏 中国船舶工业综合技术经济研究院 美国DARPA近日宣布,计划在未来5年内投资20亿美元用于开发下一波人工智能技术,寻求情境推理能力等技术的突破,使其有能力识别新的场景 ...

  2. 盘点Win前端开发下常用的软件

    盘点Win开发下常用的软件(前端) 本人在使用的一些软件 实用工具 Quicker:快捷方式 截图并贴图 长按鼠标右键打开快捷方式 f.lux:护眼 https://justgetflux.com/ ...

  3. 视频教程-丑小鸭历险记——趣味玩转unity2d游戏开发(下)-Unity3D

    丑小鸭历险记--趣味玩转unity2d游戏开发(下) 从业8年以上,学过一点知识,写过一点代码,擅长计算机图形学,擅长unity3d,擅长将抽象的东西讲明白,写看得懂的代码,讲听得懂的课程,不闲聊,不 ...

  4. [安卓开发] 下拉框Spinner与适配器ArrayAdapter/SimpleAdapter的使用

    目录 简单介绍Spinner和Adapter ArrayAdapter实现以对话框形式展示下拉框(纯文字) Simple实现以对话框形式展示下拉框(图片加文字) 简单介绍Spinner和Adapter ...

  5. 微信小程序-云开发下的用户注册及用户登录逻辑

    文章目录 一.前言 二.思路分析 三.这样做的好处 1.安全性 2.便捷性 3.健壮性 四.实现代码 1.创建集合.配置权限 2.实现代码(app.js) 五.一些疑惑 六.结语 一.前言 基于微信小 ...

  6. portal开发下拉框“日期框”查询要怎么配置

    下面的这些是我今天的成果! 总的来说是一步一步摸索出来的!还是等感谢超哥的耐心指导,犯了一些错误! 1.比如在wd配置文件中中写id="check_it_two",在java中写成 ...

  7. ATL(COM) 开发下 -- VS2010

    前面一章介绍了怎么创建ATL COM组件及注册,下面简单介绍如何调用COM组件. 1.在MFC中调用有一种很方便的方法,就是通过ClassWizard利用类型库生成包装类,不过有个前提就是com组件的 ...

  8. 【Python成长之路】从零做网站开发 -- 下拉选择项的实现

    上次的搜索功能,有粉丝提到,能不能设置成可选的搜索条件.答案自然是可以的,所以我就又在上上周的基础上添加了下拉选 效果展示 这里我基于select标签和a标签的两种方式,实现了下拉项的功能. 知识串讲 ...

  9. 前端开发下划线怎么设置_怎么使用Word快速制作填空题下划线? 只须一个快捷键, 教师必备...

    Microsoft Word是最常使用的文字处理软件之一.在使用Microsoft Word制作试卷和封面时,怎么制作填空题的下划线呢?这里介绍三种方法,操作很简单,方法很实用. 方法一:使用Unic ...

最新文章

  1. Twisted入门教程(12)
  2. 半吊子菜鸟学Web开发 -- PHP学习 4 --异常
  3. 云级Key-value数据库大比较
  4. 重置密码遇到ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)问题
  5. c语言改java语言,请教怎么把这个JAVA程序改成C语言能够运行啊
  6. 论:CMMI项目策划方法(PP)
  7. MySQL查询之聚合查询
  8. 无线数传在桥梁检测中传感器信号的采集应用
  9. array python 交集_模糊数学Python库简介和评测
  10. 工作150:1、根据后台传值动态显示开关状态及文字说明(0为文字,1为图标)
  11. Unity罗技方向盘接入
  12. sql语句和java的关系_java中Statement 与 PreparedStatement接口之间的关系和区别
  13. win7下mysql读写分离_Windows环境下Mysql 5.7读写分离简单记录
  14. 宁波大学考研复试C语言设计,2021年宁波大学考研复试名单及复试方案汇总
  15. C++ 类中的静态成员变量,静态成员函数
  16. Atitit prgrmlan 编程语言主题列表 \0 it impttech topic\prgrmlan topic编程语言专题\AOP拦截器 表达式写法.docx \0 it impttec
  17. 数据中心能效管理系统有哪些平台功能?一分钟了解
  18. linux 显示数字权限,Linux数字权限解释
  19. 云服务器安全组开放所有端口
  20. 在线画图工具-venn维恩图

热门文章

  1. linux+sysrq+键盘调试,内核调试 – MagicSysRq - 嵌入式 Linux 知识库
  2. 【译】Alethio: Lighting Up the Blockchain with Real Time Data
  3. 干货 | 你真的了解 Convolutional Neural Networks 么
  4. 【问链财经-EOS公开课】 第十九课 EOS存储之IPFS
  5. vue 箭头函数兼容性_前端学习计划之VUE学习(二)
  6. python读取rar文件_在 python 中,如何读取由 7z 压缩的文本文件_python_酷徒编程知识库...
  7. python locust 能压测数据库_深入浅出 Locust 实现
  8. 【NOIP2013模拟】小喵喵的新家
  9. 2017年9月16日普级组 在食人百货绽放的蓝蔷薇
  10. 充一次电使用一年的手机_电动自行车使用充电桩充不满电?原因终于找到了!...