django - 可以在 django 中更改已安装应用程序中的代码吗

标签 django django-apps

我一直在我的应用程序中使用名为 django-easy-friends 的应用程序。

现在的问题是我想对安装的应用程序进行一些更改。我想在每次添加新 friend 时在不同的表中创建条目。

现在我的问题是,更改已安装应用程序中的代码是否明智?如果不是,还能如何自定义要安装的应用程序?

最佳答案

我不喜欢修改第三方库中的代码。如果您发现错误,您宁愿 fork 该库,修复它,发出拉取请求并将其更新到您的 INSTALLED_APPS 中。

如果你想进行一些修改以获得不同的行为,我认为更明智的做法是子类化你想要修改的类封装它猴子补丁它,或者您认为适合您想要进行的修改的任何面向对象的方法。

当您想要更新第三方库时,修改第三方库中的代码的问题就会暴露出来。当你这样做时,你会遇到各种各样的错误。因为您的更改对于库制作者来说是未知的,并且如果由于某种原因您忘记了更改是什么,您的应用程序将变得一团糟。

恕我直言,您不应该不要修改第三方库。相反,请按照上面的建议进行操作,报告错误,对它们的类​​进行子类化等,但不要修改它!

希望这有帮助!

关于django - 可以在 django 中更改已安装应用程序中的代码吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17213107/

相关文章:

python - 猴子在另一个应用程序中修补 Django 应用程序

用于设置 Django 应用程序的 python 路径

python - Django:阻止访问一个应用程序中的特定用户

python - Django 查询,按用户组过滤

python - Django:应用程序标签并不唯一

python - 如何更改 Django 日志记录的日期格式?

django - 'NoneType' 类型的对象在 django ClassBased ListView 中没有 len()

python - 您实际上如何在项目中使用可重用的 Django 应用程序?

python - 在 Django 中获取数据库类型