Flask是一个Python编写的Web 微框架,让咱们可使用Python语言快速实现一个网站或Web服务,在介绍Flask以前首先来聊下它和Django的联系以及区别,django个大而全的web框架,它内置许多模块,flask是一个小而精的轻量级框架,Django功能大而全,Flask只包含基本的配置, Django的一站式解决的思路,能让开发者不用在开发以前就在选择应用的基础设施上花费大量时间。Django有模板,表单,路由,基本的数据库管理等等内建功能。与之相反,Flask只是一个内核,默认依赖于2个外部库: Jinja2 模板引擎和 WSGI工具集--Werkzeug , flask的使用特色是基本全部的工具使用都依赖于导入的形式去扩展,flask只保留了web开发的核心功能。css
WSGI(web服务器网关接口)是python中用来规定web服务器如何与python Web服务器如何与Python Web程序进行沟通的标准,本质上就是一个socket服务端。而 Werkzeug模块 就是WSGI一个具体的实现html
flask性能上基本知足通常web开发的需求, 而且灵活性以及可扩展性上要优于其余web框架, 对各类数据库的契合度都很是高python
1. 性能基本知足需求web
2 .灵活性可拓展性强数据库
3. 对各类数据库的契合度都比较高。django
4.在真实的生产环境下,小项目开发快,大项目设计灵活flask
“static文件夹”用于存放各类静态文件 css、js、图片等等服务器
“templates文件夹”用于存放html模板文件app
“app.py”为咱们的主文件 ,启动项目须要启动该文件框架
主文件app.py文件代码
from flask import Flask # 实例化flask 类获得一个实例化对象app app = Flask(__name__) @app.route('/') # 用来匹配路由 def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run() # 实现了flask程序在开发环境下运行起来,而且 # 默认端口是127.0.0.1:5000
不要用快捷建立flask的方式同样建立项目,就像建立一个普通的python项目同样,或者是打开一个空的文件的方式建立,不然debug=True会无效
第一种:
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'hello world' if __name__ == '__main__': app.run(debug=True) # debug 设置
第二种:
from flask import Flask app = Flask(__name__) app.debug = True # 设置 @app.route('/') def hello(): a = [1,2,3,4] print(a[4]) return "hello" if __name__ == '__main__': app.run()
第三种:
from flask import Flask app = Flask(__name__) app.config.update(DEBUG=True) # 设置 @app.route('/') def hello(): a = [1,2,3,4] print(a[4]) return "hello" if __name__ == '__main__': app.run()
第四种:
须要在app.py所在的目录里再建立一个config.py,随着项目的建立难免会有大量的配置文件,来配置咱们的项目,注意配置的信息通常为大写
config.py
DEBUG = True
app.py
from flask import Flask import config # 导入 app = Flask(__name__) app.config.from_object(config) # 设置 @app.route('/') def hello(): a = [1,2,3,4] print(a[4]) return "hello" if __name__ == '__main__': app.run()