Flask介绍

Day01

课程目标

  1. 开发环境
  2. BS/CS
  3. MVC/MTV
  4. Flask

课程内容

1. 开发环境

1.1 系统介绍

[图片上传失败...(image-81dd04-1586850469103)]

windows, macOS,linux是当今主流三大操作系统,普通用户一般是选择windows或macOS, linux主要是占据服务器领域市场。
操作系统给人的感觉是:
    (1)windows经济适用,档次较低; 
    (2)macOS高端大气上档次; 
    (3)Linux是极客专用,一个黑乎乎的窗口,各种花花绿绿的指令在闪烁,对着键盘噼里啪啦一通乱敲,就能窃取各种机密。
    在程序员群体中,操作系统有以下的鄙视链:macOS-->linux-->windows。 不过作为一个程序员,你很有必要学会linux,如果你的程序最终是跑在线上的Linux服务器上,那么你就更应该从现在开始投入linux的怀抱中,早日从windows脱坑。至于macOS,在命令行上与linux绝大部分相同,都是类unix的操作系统。简单地说,macOS是一个比windows界面更加美观,同时又兼备linux强大命令行的操作系统. 要说macOS的缺点,那就是贵...

[图片上传失败...(image-a41c68-1586850469103)]

windows与linux的设计理念有根本性的区别:

windows:用户不知道自己想要什么,也不明白自己在做什么,更不打算为自己的行为负责。

       因为windows将所有操作都隐藏起来,只给用户提供封装好的功能,用户只能在操作系统限制的范围内操作,如果是普通用户,会觉得很windows很舒服,因为不需要思考。只需要按照指示去操作。但对于开发人员而言,这种设计理念是无法接受的,一旦要做出一些超越封装好的功能之外的事情,就会出现各种难以意料的情况,而且很多情况下,这些问题是无解的。或者只能用极其蹩脚扭曲的方式去勉强处理,然后瑟瑟发抖地期待着程序能正常运行。因为一旦程序崩溃,你也会为之崩溃。在windows下作开发,那种体验就好比在陪伴一个任性的女朋友,虽然长得清秀靓丽,但喜怒无常,她开心时,彼此相安无事,她不开心时,就直接哭闹,你问她:怎么了?她也不说原因,只是一直哭。你只能试着用各种方式去哄她开心,即使这次能哄好她,并不意味着下次同样的方法能奏效。这样的相处方式,很累。不是她不好,而是彼此不适合。即使终日相伴,却依然对其一无所知。
linux:用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责。

        linux将所有操作权都交给了用户,她相信用户是理性的聪明的,忠实地执行用户的指令,向用户暴露所有的细节。用户在拥有自主权的同时也拥有了破坏力,因此普通用户根本无法驾驭,可能一个指令就把操作系统弄崩溃了。对于开发者而言,linux的开放与自由给了我们无限的可能性,我们能看到程序是如何运行的,运行报错也会有友好的提示。根据报错指引往往能将问题解决。与之相处,好比与一个成熟的女性相处,历经风雨,已经不再关注浮夸的外表,而是关注内在的涵养。刚接触时,可能会觉得她高冷,慢慢地,会发现她很善解人意,心情不好时她会跟你说是什么原因造成的,彼此商量如何解决这个问题,而不是无来由地崩溃。与之相处,会感到很舒服,彼此坦诚,无需套路,你在想什么,我都知道。我在念什么,你也明白。

总结:我选择linux的原因在于自由、舒服,简言之:爽!

1.2 环境安装
  1. centos7安装python3(https://www.cnblogs.com/felixwang2/p/9934460.html
  2. centos7安装虚拟环境(https://www.centos.bz/2018/05/centos-7-4-安装python3及虚拟环境/)
  3. centos7安装mysql (https://blog.csdn.net/WYA1993/article/details/88890883
  4. centos7安装redis (https://www.cnblogs.com/zuidongfeng/p/8032505.html
  5. pycharm连接云服务器(https://blog.csdn.net/lin_danny/article/details/82185023

2. BS/CS

2.1 概念:
CS = Client - Server = 客戶端 - 服务器。
例子: QQ,迅雷,快播,暴風影音,各种网络游戏等等。

BS = Browser - Server = 浏览器 - 服务器。 
例子:所有的网站都是BS结构。( 知乎 / 果壳 / 微博 / 等等等等等等 )
2.2 区别:
1、开发维护成本
    cs开发维护成本高于bs。因为采用cs结构时,对于不同的客户端要开发不同的程序,而且软件安装调试和升级都需要在所有客户机上进行。
    bs只需要将服务器上的软件版本升级,然后从新登录就可以了。
2、客户端负载
    cs客户端负载大。cs客户端不仅负责和用户的交互,收集用户信息,而且还需要通过网络向服务器发出请求。
    bs把事务处理逻辑部分交给了服务器,客户端只是负责显示。
3、安全性
    cs安全性高。cs适用于专人使用的系统,可以通过严格的管理派发软件。
    bs使用人数多,不固定,安全性低。
4、作用范围
    Client/Server是建立在局域网的基础上的。Browser/Server是建立在广域网的基础上的。

3. MVC/MTV

[图片上传失败...(image-b1e0e5-1586850469103)]

3.1 MVC概念
MVC开始是存在于桌面程序中的,M是指业务模型 model,V是指用户界面 view,C则是控制器 controler,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新
3.2 分层介绍
  • Model(模型) -----封装数据的交互操作 CRUD
  • View(视图) -----是用来将数据呈现给用户的 页面
  • Controller(控制器) ------用来协调Model和View的关系,并对数据进行操作,筛选
3.3 MTV

[图片上传失败...(image-6f36-1586850469103)]

MTV
    也叫做MVT,本质上就是MVC的变种
    
    Model(模型)     -----同MVC中Model
    Template(模板)  -----同MVC中View
    Views(视图函数)-----同MVC中Controller

4. Flask框架

4.1 介绍
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
Python最出名的框架要数Django,此外还有Flask、Tornado等框架。虽然Flask不是最出名的框架,但是Flask应该算是最灵活的框架之一,这也是Flask受到广大开发者喜爱的原因。
4.1.1 django和flask对比
重量级框架 django
    为了方便业务程序的开发,提供了丰富的工具及其组件
轻量级框架 flask
    只提供web核心功能,自由灵活,高度定制,Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能
4.2 官方文档
http://flask.pocoo.org/docs/0.12/      英文
http://docs.jinkan.org/docs/flask/     中文
4.3 flask流行的主要原因
 1 有非常齐全的官方文档,上手非常方便
 2 有非常好的扩展机制和第三方扩展环境,工作中常见的软件都会有对应的扩展,动手实现扩展
 也很容易
 3 社区活跃度非常高    flask的热度已经超过django好几百了
 4 微型框架的形式给了开发者更大的选择空间
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • 1. 简介 Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI(Pytho...
    Jlan阅读 8,891评论 2 3
  • 一.Flask特点: Flask诞生于2010年,是Armin ronacher(人名)用Python语言基于We...
    cxyexe阅读 405评论 0 3
  • [[图片上传失败...(image-cae8e3-1541926581609)]](file://C:\Users...
    沉默的大多数1876阅读 8,827评论 0 12
  • 1.1 搭建开发环境 用pip+virtualenv管理包和虚拟环境 这里个人推荐使用conda环境和包管理工具(...
    i_1312阅读 570评论 0 4
  • 被你伤的体无完肤,深爱的爱情,伤的很深,深到骨子里。一开始这一份爱情就是悲剧,依然义无反顾的爱了,依然坚定的爱了,...
    写给我的她阅读 142评论 0 0