Flask是一个使用 Python 编写的轻量级 Web 应用框架。Flask和Django是Python中最流行的web开发框架,与Django不同的是,Flask适合开发小型项目,通过服务器提供服务,而Django适合用来开发大型web项目。
使用Flask搭建服务器,通过浏览器访问来使用Python功能,Python+Flask搭建服务器代码量少,实现起来相当简单,下面通过demo来介绍如何实现。
一、安装Flask包
Python安装包安装有两种方式,第一种是通过python自带的pip包管理器进行安装,另一种是如果使用pycharm编辑器开发,那么可以通过pycharm的包管理器进行安装包,需要注意的是两种方式安装的包路径不同,pip安装的包在python解释器安装目录下,这里可以理解为python公共包,pycharm包管理器安装的在pycharm项目里面,可以理解为项目私有的包。
1.命令行安装
快捷键Win+R
,输入cmd
运行,输入pip install flask
进行安装。
2.pycharm安装
File | Settings | Project: pythonFlask | Python Interpreter
二、创建Flask服务器
首先加载Flask框架模块和render_template模板渲染模块,然后创建Flask服务,定义URL执行的方法,最后启动Flask服务即可。
完整案例:
# 加载Flask框架主模块和render_template模板渲染模块
from flask import Flask, render_template
# 创建Flask服务
app = Flask(__name__)
# 访问URL:http://127.0.0.1:8080
# 返回网页index.html
@app.route('/')
def index():
data = {
"msg": "success",
"data": "welcome to use flask."
}
return render_template('index.html', **data)
# 访问URL:http://127.0.0.1:8080/home/hello
# 返回结果:{"data":"welcome to use flask.","msg":"hello"}
@app.route('/home/<name>')
def home(name):
return {
"msg": name,
"data": "welcome to use flask."
}
if __name__ == "__main__":
# 启动Flask服务,指定主机IP和端口
app.run(host='127.0.0.1', port=8080)
三、模板渲染
Flask框架渲染是通过render_template模块实现,渲染模板前首先在py工程根目录下创建templates目录,并在该目录下创建html模板文件。
(一)创建HTML模板
在templates目录下创建index.html
文件,代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Flask template demo</title>
</head>
<body>
<h1>This is flask app template</h1>
<div>{{msg}}</div>
<div>{{data}}</div>
</body>
</html>
其中模板使用
{{name}}
作为标签,Flask渲染模板是自动输出对应的数值。
(二)渲染HTML网页
py文件添加如下方法
# 访问URL:http://127.0.0.1:8080
# 返回网页index.html
@app.route('/')
def index():
data = {
"msg": "success",
"data": "welcome to use flask."
}
return render_template('index.html', **data)
其中
index.html
为模板,**data
为字典,通过render_template()
函数把数据传递到模板中输出。
(三)输出模板
浏览器访问http://127.0.0.1:8080,即可输出index.html