【python】Flask框架入门

本文介绍了Flask框架的入门知识,包括Flask的核心概念、常用扩展包、与Django的区别、Requirements文件的作用、程序运行流程。详细讲解了路由定义、Jinja2模板引擎的使用,以及如何创建返回字符串和HTML内容的Flask程序。同时,文中还探讨了Jinja2的过滤器功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Flask简介

诞生于2010年,轻量级web开发框架。

Flask本身相当于一个内核,几乎所有其他功能都要用到扩展。

Flask的两个核心:WSGI工具箱采用Werkzeug(路由模块),模板引擎使用Jinja2。

二、Flask常用扩展包

Flask-SQLalchemy:操作数据库
Flask-migrate:管理迁移数据库
Flask-Mail:邮件
Flask-WTF:表单
Flask-Bable:提供国际化和本地化支持,翻译
Flask-script:插入脚本
Flask-Login:认证用户状态
Flask-OpenID:认证
Flask-RESTful:开发REST API的工具
Flask-Bootstrap:集成前端Twitter Bootstrap框架
Flask-Moment:本地化日期和时间
Flask-Admin:简单而可扩展的管理接口的框架

三、Django与Flask的区别

1、 Django功能大而全,Flask只包含基本的配置。

2、 Flask比Django更灵活。

3、 Flask在Django之后发布,现阶段有大量的插件和扩展满足不同的需求。

四、Requirements文件

Python项目中必须包含一个requirement.txt文件,用于记录所有依赖包及其精确的版本号,以便在新环境中进行部署。

在虚拟环境使用以下命令将当前虚拟环境中的依赖包以及版本号生成至文件中:
pip freeze >requirement.txt
文件名可以更改,但最好使用约定俗成的requirement.txt

当需要创建这个虚拟环境的完全副本,可以运行以下命令创建一个新的虚拟环境
pip install –r requirement.txt

五、Flask程序运行过程

1、 当客户端想要获取资源时,先通过浏览器发起http请求。

2、 Web服务器会把来自客户端的所有请求都交给flask程序实例。

3、 程序实例使用Werkzeug来做路由分发(URL请求和视图函数之间的对应关系)。

4、 根据每个URL请求,找到具体的视图函数并进行调用。在Flask程序中,路由的实现一般是通过程序实例的装饰器实现。

5、 Flask调用视图函数后,可以返回两种内容:
a) 字符串内容:将视图函数的返回值作为响应内容,返回给客户端
b) HTML模板内容:获取到数据后,把数据传入HTML模板文件中,模板引擎负责渲染HTTP响应数据,然后返回响应数据给客户端。

六、第一个返回字符串内容的Flask程序

from flask import Flask
#需要传入_name_,作用是为了确定资源所在的路径
app = Flask(__name__)

#Flask中定义路由,是通过装饰器实现的
@app.route('/')
def hello_world():
    return 'Hello World!'
    
#启动程序
if __name__ == '__main__':
    #执行app.run(),就会将Flask程序运行在一个建议的服务器上(Flask提供的,用于测试)
    app.run()

七、第一个返回HTML模板内容的Flask程序

1、app.py文件中内容
from flask import Flask,render_template

app = Flask(__name__)

@app.route('/')
def hello_world():
    return render_template('index.html')

if __name__ == '__main__':
    app.run()
2、index.html文件中内容
<<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值