【Flask】显式应用程序对象和销毁行为以及销毁行为在flask项目中的使用

本文介绍了Flask框架中显式应用程序对象的重要性,包括保证实例唯一性以支持单元测试和方便的函数修改。同时,讨论了自动转换,强调在Python中使用Unicode的必要性,以及确保编辑器以UTF-8保存文件。最后,探讨了Flask扩展的销毁行为,强调了维护和测试套件的要求。
摘要由CSDN通过智能技术生成

显式应用程序对象

基于WSGI的Python web应用程序必须有一个中央调用对象来实现实际应用程序。在Flask中,中心调用对象是Flask类的一个实例。每个Flask应用程序必须创建该类的一个实例,并将模块的名称传递给该实例。但为什么Flask不能自动做好所有这些事情呢?

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello World!'

使用对象有三个主要原因。最重要的原因之一是显式对象可以保证实例的唯一性。使用单个应用程序对象模拟多个应用程序有多种方法,例如维护应用程序堆栈,但这会导致一些问题。我不会在这里展开。现在的问题是:微框架何时需要多个应用程序?最好的答案是单元测试。测试时,创建一个用于测试特定功能的最小应用程序非常有用。当删除此最小应用程序的应用程序对象时,将释放其占用的所有资源。

from hypothetical_flask import route

@route('/')
def index():
    return 'Hello World!'

此外,在使用显式对象时,可以继承基类(Flask)以方便修改特定函数。如果不使用显式对象,则无法启动。
第二个原因也很重要,那就是Flask需要包名。创建Flask实例时,通常将__name__作为包的名称。Flask根据包名加载与模块相关的正确资源。通过Python出色的反射功能,您可以找到模板和静态文件open_resource()。

from flask import Flask
from
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值