Flask框架简单使用
简介
- Flask 是一个微型的 Python 开发的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎。
- Flask使用BSD授权。 Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。
- Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。
使用
下面举个例子:
import flask,json from flask import request,send_file import sys #构造函数使用当前模块(__name __)的名称作为参数。 server = flask.Flask(__name__) #定义路由。 @server.route('/login',methods=['get','post']) def login(): username = request.values.get('name') pwd = request.values.get('pwd') if username and pwd: if username == 'hejianlai' and pwd == '111': resu = {'code':200,'message':'登录成功'} return json.dumps(resu,ensure_ascii=False) else: resu = {'code':404,'message':sys.version} return json.dumps(resu,ensure_ascii=False) #返回json格式。 @server.route('/get_version',methods=['get']) def get_version(): win_version = sys.version return json.dumps(win_version,ensure_ascii=False) #返回一个HTML文件。 @server.route('/map',methods=['get']) def get_map(): return send_file( "D:\\Users\\JackHe\\PycharmProjects\\untitled\\monitor\\地理坐标系01.html" ) if __name__ == '__main__': server.run(debug=True,port=8888,host='127.0.0.1')
注解:
1 | server = flask.Flask(__name__) |
必须在项目中导入Flask模块。 Flask类的一个对象是我们的WSGI应用程序。
Flask构造函数使用当前模块(__name __)的名称作为参数。
1 | @server.route( '/login' ,methods=[ 'get' , 'post' ]) |
Flask类的route()函数是一个装饰器,它告诉应用程序哪个URL应该调用相关的函数。
1 | server.route(rule, options) |
rule 参数表示与该函数的URL绑定。
options 是要转发给基础Rule对象的参数列表。
在上面的示例中,'/login ' URL与login()函数绑定。因此,当在浏览器中打开web服务器的主页时,将呈现该函数的输出。
最后,Flask类的run()方法在本地开发服务器上运行应用程序。
1 | server.run(host, port, debug, options) |
所有参数都是可选的.
序号 | 参数与描述 |
---|---|
1 |
host 要监听的主机名。 默认为127.0.0.1(localhost)。设置为“0.0.0.0”以使服务器在外部可用 |
2 |
port 默认值为5000 |
3 |
debug 默认为false。 如果设置为true,则提供调试信息 |
4 |
options 要转发到底层的Werkzeug服务器。 |
如对您有帮助,支持下呗!
微信

支付宝

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
2019-03-27 was cached in the local repository, resolution will not be reattempted until the update interval of fintech has elapsed or updates are forced
2018-03-27 HP服务器设置iLO步凑
2018-03-27 Zabbix系列之三——部署JMX监控tomcat