Python Flask 编程 | 连载 01 - Flask Quickstart

本文介绍了FlaskWeb开发框架的安装方法,从pip安装到源码安装,以及Flask快速入门,包括创建基本应用、路由配置、视图函数、MTV模型和Flask内置服务器的使用。还讨论了Flask的扩展和学习资源,如ORM框架和面试题等内容。
摘要由CSDN通过智能技术生成

一、Flask 介绍与安装

Flask 是一个使用 Python 实现的 Web 开发微框架,具有丰富的扩展,可以非常方便的继承 Jinja2SQLAlchemyWTF 等扩展。

image.png

哪些公司使用了 Flask 构建 Web 应用?

image.png

Flask 安装

pip 安装

在终端下指定使用 Py 3.8 来安装 1.1.2 版本的 Flask。

bash
复制代码
pip3.8 install flask==1.1.2

使用该命令安装时也可以选择性使用以下属性:

  • –timeout:设置超时时间
  • -i:使用指定的镜像源安装
bash
复制代码
# 使用清华镜像源安装1.1.2版本的Flask
pip3.8 install flask==1.1.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

源码安装

使用源码进行安装,进入源码目录下,运行命令

bash
复制代码
python3 setup.py install

安装完成之后可以通过在终端中运行命令 pip3.8 list

image.png

或者通过在 Python 代码中导入 Flask 来查看 Flask 版本信息。

image.png

二、Flask Quickstart

使用PyCharm创建一个Pure Python项目 flask-quickstart,新增一个 Python 脚本 app.py

python
复制代码
from flask import Flask

# 创建一个Flask对象/实例
app = Flask(__name__)


@app.route('/hallo')
def hallo():
    return 'Hallo Flask'

if __name__ == '__main__':
    app.run()
  • name:表示Flask应用的主模块或者包的名称,Flask使用该参数来确定应用的位置,以此找到应用中其他文件的位置,如模板、静态资源文件等
  • @app.route():装饰器,表示路由配置,用户在浏览器中输入的URI映射到指定的函数

运行该脚本,控制台打印出URL地址

image.png

在浏览器中输入控制台打印出的地址

image.png

控制台打印出 hallo() 函数返回的字符串,此时 /hallo 就和 hallo() 函数关联起来了

app.py 中的 hallo() 函数称为视图函数,每个视图函数上可以加多个装饰器,既可以有多个 URI 映射到同一个视图函数上.

hallo() 函数上添加一个 URI

python
复制代码
# 其余代码不变

@app.route('/')
@app.route('/hallo')
def hallo():
    return 'Hallo Flask'
    
# 其余代码不变

重新启动脚本,浏览器输入 127.0.0.1:5000

image.png

“/” 同样也可以映射到hallo()视图函数上

MTV 模型

在app.py同级目录下新建一个 templates 文件夹,增加 hallo.html 页面

html
复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>Index</title>
</head>
<body>
<h1>{{info.message}}</h1>
</body>
</html>

修改app.py

python
复制代码
from flask import render_template

# 其余代码不变

@app.route('/hallo')
@app.route('/')
def hallo():
    info = {
        'message': "这是存在message变量中的信息"
    }
    return render_template('index.html', info=info)

image.png

Flask 的 MTV 模型

image.png

  • V 表示视图 View:负责业务逻辑,对应项目中的视图函数
  • T 表示模板 Template:负责如何把页面展示给用户
  • M 表示模型 Model:与数据库表对应的类

浏览器器发送的请求首先会根据URI地址找到对应的视图函数,视图函数中会处理请求包括获取对进行进行判断,获取请求中的参数,之后会与Model层进行交互,通过ORM框架对数据进行增删改查,并将操作结果保存,Template中会通过模板语法处理视图函数中的数据,之后再有视图函数将Template返回给浏览器进行渲染,最终呈现给用户

视图函数是请求处理的核心,所以视图层是一定存在的,可以没有 Template 或者 Model。

实现 MTV 三层架构的第三方库:

  • 模型Model

    • Flask-PyMongo/Flask-SQLAlchemy
  • 视图View

    • Flask-WTF/Flask-Uploads/
  • 模板Template

    • Jinja2

三、Flask 内置服务器

Flask 推荐的启动方式

flask 1.0 之后就不再推荐使用 main 函数的方式启动 flask 应用了,而是通过设置环境变量运行启动命令的方式来启动Flask应用

bash
复制代码
# 设置环境变量
set/export FLASK_APP = app.py
# 启动应用
flask run -h 0.0.0.0 -p 8080
# 这条命令也可以设置host和port
flask run --host=0.0.0.0 --port=8080
# 查看更多命令
flask run --help

IDEA 配置 Flask 应用启动方式

image.png

Flask 应用开启 Debug 模式

Flask应用开启 Debug 模式非常简单,只要通过命令将 FLASK_ENV 设置为 development 即可。

bash
复制代码
set/export FLASK_ENV=development
flask run

image.png

开启调试模式之后,修改代码保存后服务器会自动重启

四、Flask 的扩展

image.png

由于 Flask 是一个 microframework,除了核心功能外其他模块都需要使用第三方扩展,如 ORM 框架、表单等,这些都可以通过官方网站查找到所需要的第三方扩展。

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉CSDN大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉CSDN大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

  • 38
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值