Flask 介绍
Flask 是一个轻量级的 Python Web 框架,非常适合快速开发和小型应用。
官网:https://flask.palletsprojects.com/en/3.0.x/
中文文档:https://dormousehole.readthedocs.io/en/latest/
教程:https://www.runoob.com/flask/flask-tutorial.html
Flask 框架
Flask 安装
安装 Flask:
pip install flask
Flask 项目
1. 创建一个最小的 Flask 应用(app.py):
新建一个项目目录 flask01_helloworld
新建一个flask01_helloworld/app.py文件
# 导入Flask from flask import Flask # 创建Flask应用对象 # __name__ 对应当前文件名:app.py # 即app.py所在的目录就是项目目录 app = Flask(__name__) # 路由route + 视图函数hello_world @app.route('/') def hello_world(): # 响应:返回浏览器的数据 return 'Hello World!' # 启动方式 # 在app.py文件目录控制台,运行命令:python app.py # 主函数 if __name__ == '__main__': # 启动服务器 app.run()
2. 运行应用:
在项目名目录 flask01_helloworld 运行命令
python app.py
访问 http://127.0.0.1:5000/ 查看结果。
注意:如果python解析器安装目录上由空格,可能调试启动报错
注意:如果PyCharm安装目录上有空格,可能调试启动报错
Flask 服务响应
编辑文件app.py
# 导入Flask from flask import Flask, render_template, jsonify # 创建Flask应用对象 # __name__ 对应当地文件名:app.py # 即app.py所在的目录就是项目目录 app = Flask(__name__) # 路由route + 视图函数hello_world @app.route('/') def hello_world(): # 响应:返回浏览器的数据 return 'Hello World!' @app.route('/index') def index(): # 响应:字符串 return "index 首页" @app.route('/json') def json(): # 模板渲染 # 响应:json字符串 return jsonify({'name': '法外狂徒张三', 'age': 18}) @app.route('/html') def html(): # 模板渲染 # 响应:html模板 return render_template('index.html', name='法外狂徒张三') # 启动方式 # 在app.py文件目录控制台,运行命令:python -m flask run # 主函数 if __name__ == '__main__': # 启动服务器 # debug 是否开启调试模式,开启后修改过python代码会自动重启 # port 指定服务器端口,默认是5000 # host 可访问主机,默认是127.0.0.1(只能本机访问),指定为0.0.0.0,所有IP均能访问 app.run(host='0.0.0.0', port=5000, debug=True)
在项目目录下,新建文件 templates/index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>首页</title> </head> <body> <h1>Index</h1> <p>name: {{ name }}</p> </body> </html>
1. flask响应普通字符串
访问地址:http://127.0.0.1:5000/index
2. flask响应json字符串
访问地址:http://127.0.0.1:5000/json
响应头也是json类型
3. flask响应html-模板渲染
访问地址:http://127.0.0.1:5000/html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
2019-09-01 【Java】单点登录(SSO)