1

我想用另外一个浏览器扩展 werkzeug UserAgent 类。如何在不修改 werkzeug 库的源代码的情况下做到这一点?我是 python 新手,所以我对 mixins、继承、模块等有一些小想法。我在文档中发现:

创建 BaseRequest 的自定义子类并通过 mixins 或直接实现添加缺少的功能是一个好主意。这是此类子类的示例:

from werkzeug.wrappers import BaseRequest, ETagRequestMixin
class Request(BaseRequest, ETagRequestMixin):
    pass

我应该把它放在我的代码的哪一部分以及如何扩展标准的 UserAgent 类?我也将 werkzeug 与 Flask 一起使用。提前致谢。

4

1 回答 1

3

惊人。一旦你提出问题,答案就会自己出现:)

Flask.request_class是答案:

from werkzeug.wrappers import BaseRequest, ETagRequestMixin

class Request(BaseRequest, ETagRequestMixin): 
    pass

app = Flask(__name__)
app.request_class = Request
于 2013-05-23T07:40:39.540 回答