自定义 Python 包 - django-paypal

Customize Python package - django-paypal

我正在做一个项目,我需要对 django-paypal 包进行一些更改。我已经克隆了包的 GitHub 存储库并做了一个非常简单的更改 (只需更改表单提交类型=图像源) 然后通过 python setup.py install 安装它但是现在我找不到导入此包的任何路径。

例如,当我使用 pip install django-paypal 安装它时,我能够像 from paypal.standard.forms import PayPalPaymentsForm 一样导入它,但是在通过 python setup.py install 从我的本地更改源安装它之后它不能找到任何 paypal 包。

我该如何解决这个问题?

请帮帮我!

提前致谢!

您通常希望避免直接修改模块的源代码。这将使升级变得困难,并且需要您以某种方式将这些修改后的包与您自己的代码捆绑在一起,这使得分发您的代码变得困难。

不是更改由 PayPalPaymentsForm.render 编辑的字符串 return,只需将其子类化并将 render 方法修改为 return 您想要的 HTML:

your_app/forms.py

from django.utils.html import format_html
from paypal.standard.forms import PayPalPaymentsForm

class CustomPayPalPaymentsForm(PayPalPaymentsForm):
    def render(self):
        return format_html(u"""<form action="{0}" method="post">
    {1}
    <input type="image" src="{2}" border="0" name="submit" alt="Buy it Now" />
</form>""", self.get_endpoint(), self.as_p(), self.get_image())

然后您只需导入它:

from your_app.forms import CustomPayPalPaymentsForm