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

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

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

$ pip install flask

image.png

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

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

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

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


from flask import Flask
app = Flask(__name__)

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

本人是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)

最后两行是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
# IDE      :PyCharm


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))

这样修改后,如果重新启动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

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

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

备注

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

相关文章
|
1月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
10天前
|
数据采集 Web App开发 存储
打造高效的Web Scraper:Python与Selenium的完美结合
本文介绍如何使用Python结合Selenium,通过代理IP、设置Cookie和User-Agent抓取BOSS直聘的招聘信息,包括公司名称、岗位、要求和薪资。这些数据可用于行业趋势、人才需求、企业动态及区域经济分析,为求职者、企业和分析师提供宝贵信息。文中详细说明了环境准备、代理配置、登录操作及数据抓取步骤,并提醒注意反爬虫机制和验证码处理等问题。
打造高效的Web Scraper:Python与Selenium的完美结合
|
1月前
|
JSON 安全 中间件
Python Web 框架 FastAPI
FastAPI 是一个现代的 Python Web 框架,专为快速构建 API 和在线应用而设计。它凭借速度、简单性和开发人员友好的特性迅速走红。FastAPI 支持自动文档生成、类型提示、数据验证、异步操作和依赖注入等功能,极大提升了开发效率并减少了错误。安装简单,使用 pip 安装 FastAPI 和 uvicorn 即可开始开发。其优点包括高性能、自动数据验证和身份验证支持,但也存在学习曲线和社区资源相对较少的缺点。
107 15
|
3月前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
135 4
|
3月前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
199 3
|
3月前
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
|
6月前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
72 1
|
3月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
208 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
6月前
|
IDE 测试技术 开发工具
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
本文介绍了Python中的文件操作方法,包括使用open()打开文件、close()关闭文件、read()读取内容、readline()读取单行、readlines()读取多行、write()写入内容以及writelines()写入多行的方法。同时,探讨了文件操作模式和编码问题,并扩展了上下文管理器with...as的使用,以及对图片和音频文件操作的思考和练习。
52 1
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作

热门文章

最新文章