Flask 框架简单入门
Posted 王张飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask 框架简单入门相关的知识,希望对你有一定的参考价值。
Flask框架介绍
Flask 框架
什么是Flask?
flask是一种基于python ,并且依赖于Jinja2模板引擎(提供网页解析)和 Werkzeug WSGI服务(python web应用与web 服务之间的接口)的一种微型框架。其中:
Jinja2模板引擎:通俗来讲就是服务器接收到用户请求之后,将数据传入html文件中后,经过模板引擎的渲染将其呈现在网页中响应给用户。
Werkzeug WSGI:python web 应用程序是一个被调用的对象,它无法直接与web 服务器直接建立联系,所以WSGI的功能就是提供程序与服务之间的通信。它规定了一个app接口,server会传递给 web 应用所有的请求信息以及响应之后需要调用的函数。
Flask 框架模式 --MTV
M(Models) —— 模型层:负责数据库的建模。
T(Templates) —— 模板层:用于处理用户显示的内容。如:html
V (Views)—— 视图层:处理与用户交互的部分内容。如:处理用户的请求并给出响应
用户在浏览器上请求地址,浏览器将请求发送给视图层,视图层根据请求地址分配对应的视图函数,视图函数通过模型层查找数据,并将数据传送给模板,最后模板层将数据响应在网页上。
flask的安装
在Linux 系统上:
pip3
sudo pip3 install flask
或pip
sudo pip install flask
Flask 简单程序入门
1 建立路由
客户端将请求发送给web服务器,web 服务器再将请求发送给flask 程序实例,程序实例需要知道每个url请求运行哪些代码,所以需要建立url到python 函数之间的映射,将url与需要被调用的函数建立联系。
在flask中,使用 @app.route() 来建立路由。
2 路由的基本表示
路由的基本表示
@app.route('/')
#/表示网站的根路径,在浏览器窗口输入 localhost:5000/ 进行访问
带参数的路由
基本带参路由,
flask中支持的数据类型转换器
类型转换器 | 作用 |
---|---|
缺省 字符串型 | 但不能有/ |
int | 整型 |
float | 浮点型 |
path | 字符串型,可以有/ |
@app.route('/show1/<name>')
#在浏览器输入 localhost:5000/show1/xxx 进行访问
def show1(name):
#在函数中name表示的是地址栏上传递过来的参数
return '<h1>姓名为:%s</h1>' % name
带多个参数的路由
@app.route('/show2/<name>/<age>')
def show2(name,age):
return '<h1>姓名为:%s,年龄为:%s</h1>' % (name,age)
指定参数类型的路由
@app.route('/show3/<name>/<int:age>')
#在浏览器输入 localhost:5000/show1/xxx/data (data必须为数字)进行访问
def show3(name,age):
return '<h1>姓名为:%s,年龄为:%d</h1>' % (name,age)
多URL的路由
@app.route('/')
@app.route('/index')
#在浏览器输入 localhost:5000/或者localhost:5000/index 进行访问
def index():
return 'hello'
最后,来一个简单的flask程序
from flask import Flask
#将当前运行得到的主程序构建成Flask的应用,以便接收用户的请求,并给出响应
app = Flask(__name__)
#@app.route()Flask中的路由定义,定义用户的访问路径
#/表示的是整个网站的根路径
#def index() 表示匹配上@app.route()路径后的处理程序
#视图函数 :该类函数必须要有return。return后要给一个字符串或响应对象
@app.route('/')
def index():
return "<h1>This is my first flask app</h1>"
if __name__ == '__main__':
#运行Flask应用(启动Flask的服务),默认在本机开启的端口号是5000.
#debug=True,是将当前的启动模式改为调试模式(开发环境中建议使用调试模式,生产环境中不允许使用)
app.run(debug=True)
在网页上输入地址出现下图结果。
这是个人上课笔记和个人分析总结所得,如有错误望留言。
以上是关于Flask 框架简单入门的主要内容,如果未能解决你的问题,请参考以下文章