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的地位。我们不是键盘侠,我们只是平凡世界中不凡的缔造者 。
相关文章
|
4月前
|
API 数据库 数据安全/隐私保护
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】Django REST framework (DRF) 是用于构建Web API的强力工具,尤其适合Django应用。本文深入讨论DRF面试常见问题,包括视图、序列化、路由、权限控制、分页过滤排序及错误处理。同时,强调了易错点如序列化器验证、权限认证配置、API版本管理、性能优化和响应格式统一,并提供实战代码示例。了解这些知识点有助于在Python面试中展现优秀的Web服务开发能力。
73 1
|
1月前
|
搜索推荐 数据可视化 数据挖掘
基于Python flask框架的招聘数据分析推荐系统,有数据推荐和可视化功能
本文介绍了一个基于Python Flask框架的招聘数据分析推荐系统,该系统具备用户登录注册、数据库连接查询、首页推荐、职位与城市分析、公司性质分析、职位需求分析、用户信息管理以及数据可视化等功能,旨在提高求职者的就业效率和满意度,同时为企业提供人才匹配和招聘效果评估手段。
基于Python flask框架的招聘数据分析推荐系统,有数据推荐和可视化功能
|
2天前
|
JSON 测试技术 数据库
Python的Flask框架
Python的Flask框架
|
3月前
|
关系型数据库 MySQL 数据库
如何使用Python的Flask框架来构建一个简单的Web应用
如何使用Python的Flask框架来构建一个简单的Web应用
73 0
|
15天前
|
JSON 测试技术 数据库
Python的Flask框架
Python的Flask框架
|
15天前
|
存储 安全 数据库
Flask框架中,如何实现用户身份验证和会话管理
Flask框架中,如何实现用户身份验证和会话管理
|
19天前
|
数据库 Python
如何开始使用Flask框架
【9月更文挑战第1天】如何开始使用Flask框架
21 3
|
20天前
|
前端开发 开发者 Python
Flask框架之谜:如何用Blueprints神技轻松制胜模块化应用?
【8月更文挑战第31天】随着Flask应用规模扩大,代码管理和模块化变得至关重要。Blueprints作为Flask提供的强大工具,支持将应用分割成包含独立路由、视图、模板和静态文件的模块,从而提高代码清晰度与重用性。本文通过创建前端和后台管理两个蓝图的示例,展示了如何在Flask中使用Blueprints实现应用模块化,简化大型应用开发与维护工作,提升代码结构的清晰度及团队协作效率。
10 0
|
22天前
|
运维 Serverless 对象存储
函数计算产品使用问题之如何使用Flask框架支持Stream模式
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
27天前
|
Python Windows 内存技术
【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?
【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?