Python和Web--使用Web框架之Flask简单用例

简介: Python和Web--使用Web框架之Flask简单用例

Python和Web–使用Web框架之Flask简单用例
对于重要的Web应用,大多数人不会直接为其编写CGI脚本,而是选择使用Web框架,因为它会替你完成很多繁重的工作。这样的框架很多,今天我使用既简单又有用的Flask(http://flask.pocoo.org)上。使用pip安装这个框架,命令如下:

$ pip install flask
AI 代码解读

image.png

下面编写一个计算幂的函数:

def powers(n = 10):
  return ', '.join(str(2**i) for i in range(n))
AI 代码解读

想让每个人都能使用它!要使用Flask来实现这个目标,首先使用合适的名称实例化Flask类,并将这个函数的URL路径告诉它。脚本名称powers.py,示例代码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :3/9/22 5:06 PM
# 文件      :powers.py
# IDEPyCharm


from flask import Flask
app = Flask(__name__)

@app.route('/')
def powers(n = 10):
    return ', '.join(str(2**i) for i in range(n))
AI 代码解读

本人是macOS系统,让Flask运行它,代码如下:

(venv) liuxiaowei@MacBookAir 使用Web框架 %  export FLASK_APP=powers.py
(venv) liuxiaowei@MacBookAir 使用Web框架 % flask run
 * Serving Flask app 'powers.py' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
AI 代码解读

最后两行是Flask的输出。如果你在浏览器中输入上面的URL, 将看到函数powers返回的字符串。如下图:
image.png

也可以给这函数指定更具体的路径。如果使用route(’/powers’)而不是(’/’), 这个函数将位于http://127.0.0.1:5000/powers。这样,可以设置多个函数,每个函数的URL 各不相同。也可以向函数提供参数,要指定参数,可使用尖括号,例如’/powers/’。这样,斜杠后面的内容将作为关键字的参数n的值。但这样提供的是一个字符串,而这里需要的是一个整数。为执行转换,可以使用route(’/powers/’)。示例代码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :3/9/22 5:06 PM
# 文件      :powers.py
# IDEPyCharm


from flask import Flask
app = Flask(__name__)

@app.route('/<int:n>')   # 添加参数n,并转为int型
def powers(n = 10):
    return ', '.join(str(2**i) for i in range(n))
AI 代码解读

这样修改后,如果重新启动Flask,并访问URLhttp://127.0.0.1:5000/powers/3,将得到输出1, 2, 4。如下图:

image.png

注 意

# FLASK_APP=powers.py中间不能有空格,否则报错
(venv) liuxiaowei@MacBookAir 使用Web框架 %  export FLASK_APP=powers.py
AI 代码解读

如果如下带空格输入,就会报错:

(venv) liuxiaowei@MacBookAir 使用Web框架 % export FLASK_APP = powers.py
zsh: bad assignment
AI 代码解读

备注

Flask还有很多其他功能,其文档也很容易理解。如果尝试简单的服务器端Web应用开发,建议看看这些文档。

目录
打赏
0
0
0
0
218
分享
相关文章
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
打造高效的Web Scraper:Python与Selenium的完美结合
本文介绍如何使用Python结合Selenium,通过代理IP、设置Cookie和User-Agent抓取BOSS直聘的招聘信息,包括公司名称、岗位、要求和薪资。这些数据可用于行业趋势、人才需求、企业动态及区域经济分析,为求职者、企业和分析师提供宝贵信息。文中详细说明了环境准备、代理配置、登录操作及数据抓取步骤,并提醒注意反爬虫机制和验证码处理等问题。
打造高效的Web Scraper:Python与Selenium的完美结合
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
151 9
Python Web 框架 FastAPI
FastAPI 是一个现代的 Python Web 框架,专为快速构建 API 和在线应用而设计。它凭借速度、简单性和开发人员友好的特性迅速走红。FastAPI 支持自动文档生成、类型提示、数据验证、异步操作和依赖注入等功能,极大提升了开发效率并减少了错误。安装简单,使用 pip 安装 FastAPI 和 uvicorn 即可开始开发。其优点包括高性能、自动数据验证和身份验证支持,但也存在学习曲线和社区资源相对较少的缺点。
91 15
Python流行orm框架对比
Python中有多个流行的ORM框架,如SQLAlchemy、Django ORM、Peewee、Tortoise ORM、Pony ORM、SQLModel和GINO。每个框架各有特点,适用于不同的项目需求。SQLAlchemy功能强大且灵活,适合复杂项目;Django ORM与Django框架无缝集成,易用性强;Peewee轻量级且简单,适合小型项目;Tortoise ORM专为异步框架设计;Pony ORM查询语法直观;SQLModel结合Pydantic,适合FastAPI;GINO则适合异步环境开发。初学者推荐使用Django ORM或Peewee,因其易学易用。
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
85 7
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
102 7
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
121 2
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
120 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等