gpt4 book ai didi

python - 覆盖 Django 模块类方法

转载 作者:太空宇宙 更新时间:2023-11-04 10:20:30 26 4
gpt4 key购买 nike

在我的 Django 应用程序中,我通过 pip 安装了一个模块。我需要重写位于 site-packages/module/views.py 中的一些方法。我假设,我需要在我的自定义模块目录中导入这个模块,并简单地继承类和覆盖方法。

什么是最好的方法?如果不在 site-packages 目录中编写代码,我如何才能正确地做到这一点?

最佳答案

您所寻找的通常称为 monkey patching .

import some_module

def my_method(self):
pass

some_module.SomeClass.a_method = my_method

尽管根据方法的性质和库初始化要小心,修补方法可能为时已晚。例如,如果您想要修补的方法在加载模块时被调用,您将永远无法在它被调用之前修补它。

尝试在应用程序启动时尽早修补有问题的类

关于python - 覆盖 Django 模块类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32530270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com