Flask 框架的使用

简介: Flask 框架的使用

前言

熟悉 Flask 项目的创建与运行以及一些配置信息。

在介绍 Flask 如何使用前,先了解一下我们要准备的开发环境有哪些

<br/>

准备开发环境

环境名称 版本
Python 3.7.9
Pycharm专业版 2020.2.3 (Professional Edition)
Flask 1.1.2

<br/>

参考文章

在接下来的 Flask 开发中我们都使用上述环境,如有新的库或环境,会在文章中说明。

<br/>

创建01-FlaskUse项目

打开 PyCharm 专业版,选择 File -> new Project,然后在弹出的窗口选择 Flask 项目即可。

创建Flask项目

<br/>

建议大家专门新建一个目录来存放 Flask 项目。

<br/>

Flask项目结构

Flask项目结构

<br/>

目录介绍

目录/文件 作用
static 存放静态文件
templates 存放模板文件
app.py Flask程序

<br/>

运行 Flask 项目

Flask 集成了用作开发调试的服务器,因此我们可以直接运行 Flask 程序在开发服务器上。

<br/>

Pycharm运行

运行Flask程序

<br/>

运行结果

<br/>

默认运行在 http://127.0.0.1:5000/ 。按住 Ctrl 键然后用鼠标点击网址,跳转到浏览器显示运行结果。

Flask运行结果

<br/>

运行了 Flask 程序,Pycharm 中打印了一些信息,我们来看看

FLASK_APP = app.py
FLASK_ENV = development
FLASK_DEBUG = 0
In folder C:/Users/Administrator/Desktop/FlaskDemo/01-FlaskUse
D:\Hui\VirtualEnv\01-FlaskUse\Scripts\python.exe -m flask run
 * Serving Flask app "app.py"
 * Environment: development
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [22/Apr/2021 22:15:55] "GET / HTTP/1.1" 200 -

<br/>

信息 说明
FLASK_APP = app.py Flask 应用启动程序是 app.py
FLASK_ENV = development Flask处在开发环境
FLASK_DEBUG = 0 debug 调试模式未打开,0 未打开、1 打开

上面就是 Pycharm 专业版创建 Flask 项目,默认配置的环境变量。

<br/>

# Flask 项目的所处在的文件目录
In folder C:/Users/Administrator/Desktop/FlaskDemo/01-FlaskUse
    
# 用 Python 解释器运行flask程序
D:\Hui\VirtualEnv\01-FlaskUse\Scripts\python.exe -m flask run

Python -m 参数意思是将库中的 Python模块用作脚本去运行。

<br/>

脚本指令运行

因此我们也可以在 Pycharm 终端中使用 Python -m flask run 或者 flask run 来启动 Flask 程序。

脚本命令执行Flask程序

flask run

<br/>

python -m flask run 脚本指令运行的 Flask 的程序是工作在生产环境 production,它提出警告

WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
这是一个开发服务器。不要在生产部署中使用它。改用生产 WSGI 服务器。

Flask 提供的 Web 服务器不适合在生产环境中使用。

<br/>

普通项目创建Flask应用

由于Pycharm 专业版可以直接选择 Flask 项目的创建,它会自动安装 Flask应用程序需要的环境。

通过 pip freeze 指令查看 Flask 所需环境

pip freeze

这里发现我们使用的 Flask 版本为 1.1.2

因此我们也可以在普通 Python 项目构建 Flask 应用程序

  • 先准备 Python虚拟环境,当然也可以用 Pycharm 提供的虚拟环境 【参考文章 -> Python虚拟环境的使用
  • 安装 Flask 框架

    pip3 install flask==1.1.2
  • 创建 hello.py
# hello.py

from flask import Flask


# 创建flask应用
app = Flask(__name__)


# 创建视图函数
@app.route('/')
def index():
    return 'index page!'


@app.route('/hello')
def hello():
    return '<h1> Hello Flask! </h1>'


if __name__ == '__main__':
    # flask应用运行
    app.run()

app = Flask(__name__) Flask类的实例创建,只有一个必须指定的参数,即程序主模块名或包的名字。

hello() 这样的被 app.route() 装饰的函数称为视图函数 view functionapp.route('/') 接收的参数是Web程序访问的路径,视图函数返回的响应可以是包含的 html 的简单的字符串,也可以是复杂的表单。

处理 URL 和函数之间关系的程序称为 路由

运行方式和之前的一样,右击运行,脚本指令 python -m flask run。成功运行后再浏览器上分别输入

http://127.0.0.1:5000

http://127.0.0.1:5000/hello

flask hello

<br/>

源代码

源代码已上传到 Gitee HuiDBK/FlaskBasic - 码云 - 开源中国 (gitee.com),欢迎大家来访。

✍ 码字不易,还望各位大侠多多支持 ❤️。

<br/>

公众号

新建文件夹X

大自然用数百亿年创造出我们现实世界,而程序员用几百年创造出一个完全不同的虚拟世界。我们用键盘敲出一砖一瓦,用大脑构建一切。人们把1000视为权威,我们反其道行之,捍卫1024的地位。我们不是键盘侠,我们只是平凡世界中不凡的缔造者 。
相关文章
|
3月前
|
开发框架 开发者 Python
深入探究Python Web开发框架:Flask与Django
Python作为一种广泛应用于Web开发的编程语言,其拥有众多优秀的Web开发框架。本文将深入探讨其中两大知名框架——Flask与Django。通过对它们的概念与实践进行比较分析,帮助读者更好地理解和选择适合自己项目需求的Web开发框架。
|
17天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
5天前
|
API 数据库 数据安全/隐私保护
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】Django REST framework (DRF) 是用于构建Web API的强力工具,尤其适合Django应用。本文深入讨论DRF面试常见问题,包括视图、序列化、路由、权限控制、分页过滤排序及错误处理。同时,强调了易错点如序列化器验证、权限认证配置、API版本管理、性能优化和响应格式统一,并提供实战代码示例。了解这些知识点有助于在Python面试中展现优秀的Web服务开发能力。
22 1
|
3月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
88 7
|
5天前
|
SQL 中间件 API
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】**Flask是Python的轻量级Web框架,以其简洁API和强大扩展性受欢迎。本文深入探讨了面试中关于Flask的常见问题,包括路由、Jinja2模板、数据库操作、中间件和错误处理。同时,提到了易错点,如路由冲突、模板安全、SQL注入,以及请求上下文管理。通过实例代码展示了如何创建和管理数据库、使用表单以及处理请求。掌握这些知识将有助于在面试中展现Flask技能。**
12 1
Flask框架在Python面试中的应用与实战
|
8天前
|
JSON 数据格式 Python
如何在Flask框架中定义路由和处理请求?
【4月更文挑战第18天】在Flask框架中,创建应用实例、定义路由和处理请求涉及5个步骤:1) 导入Flask并实例化应用;2) 使用`app.route()`装饰器定义路由,指定URL和HTTP方法;3) 编写视图函数处理请求逻辑;4) 视图函数返回响应内容,Flask会自动转换格式;5) 用`app.run()`启动服务器。
20 3
|
11天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
1月前
|
XML JSON API
通过Flask框架创建灵活的、可扩展的Web Restful API服务
通过Flask框架创建灵活的、可扩展的Web Restful API服务
|
1月前
|
开发框架 API 数据库
盘点Python网页开发轻量级框架Flask知识
盘点Python网页开发轻量级框架Flask知识
41 0
|
1月前
|
缓存 监控 API
Python Web框架FastAPI——一个比Flask和Tornada更高性能的API框架
Python Web框架FastAPI——一个比Flask和Tornada更高性能的API框架
58 0