1.web预备知识html
2.flask介绍python
3.web框架的本质及分类linux
4.flask安装与基本设置web
1.web预备知识sql
HTTP协议:http://www.javashuo.com/article/p-shmfswju-y.html数据库
关于web的本质:http://www.cnblogs.com/wyb666/p/9034042.htmlflask
如何自定义web框架:http://www.cnblogs.com/wyb666/p/9038644.htmlbootstrap
了解cookie和session:http://www.javashuo.com/article/p-ceqcahvy-ba.html浏览器
2.flask介绍服务器
(1)flask介绍
Python的WEB框架有Django、Tornado、Flask 等多种
Flask是一个基于Python开发而且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,而后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,若是要返回给用户复杂的内容时,须要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。
“微”(micro) 并不表示你须要把整个 Web 应用塞进单个 Python 文件(虽然确实能够 ),也不意味着 Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你作出太多决策——好比使用何种数据库。而那些 Flask 所选择的——好比使用何种模板引擎——则很容易替换。除此以外的一切都由可由你掌握。如此,Flask 能够与您珠联璧合。
默认状况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库能够胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 自己实现的同样。众多的扩展提供了数据库集成、表单验证、上传处理、各类各样的开放认证技术等功能。Flask 也许是“微小”的,但它已准备好在需求繁杂的生产环境中投入使用。
1 from werkzeug.wrappers import Request, Response 2 3 @Request.application 4 def hello(request): 5 return Response('Hello World!') 6 7 if __name__ == '__main__': 8 from werkzeug.serving import run_simple 9 run_simple('localhost', 4000, hello)
(2)MVC
MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:
(3)flask的优势
(4)flask的组件
flask是短小精悍的一个web框架,内部没有太多组件。第三方组件很是丰富:
注:更多第三方组件见:http://flask.pocoo.org/extensions/
3.web框架的本质及分类
(1)web框架的本质:socket服务端 与 浏览器的通讯
(2)socket服务端功能划分
(3)Python中 Web框架的分类
按上面三个功能划分:
按另外一个维度来划分:
4.flask安装与基本设置
(1)flask安装
1 pip3 install flask
注意:
1 在linux服务器上可能没有自带pip3 2 因此要本身去安装pip3,安装方法以下: 3 apt-get install python3-pip
(2)建立flask项目
使用pycharm(专业版)建立:File --> New project --> 左侧选flask--> 右侧填项目路径,而且勾选python.exe
本身建立: 建立一个普通项目 -> 在这个项目里本身搭flask的框架
关于flask的框架,能够根据项目需求和本身掌握的东西来选择组件,可是最基本的就是如下的东西:
(3)设置flask项目
flask项目的设置有不少方法,能够设置在单独的文件中,也能够直接写在字典中而后传给app.run方法
之后者为例,如下是最基本的设置:
1 # 运行服务器 2 if __name__ == '__main__': 3 # debug 模式能够自动加载你对代码的变更, 因此不用重启程序 4 # host 参数指定为 '0.0.0.0' 可让别的机器访问你的代码 5 # host 参数指定为 'localhost' 其实是使用本机回环地址127.0.0.1 6 # 127.0.0.1 通常是用来进行本地测试和开发的 7 # port指定端口 端口是这个网站被别人访问的入口 8 # 有了IP+端口 别人才能真正访问一个网站 9 config = dict( 10 debug=True, 11 host='localhost', 12 port=2000, 13 ) 14 app.run(**config) 15 # app.run() 开始运行服务器 16 # 访问下面的网址就能够打开网站: 17 # http://127.0.0.1:2000/