0

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

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

我该如何解决这个问题?

请帮帮我!

提前致谢!

4

1 回答 1

1

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

无需更改由 返回的字符串PayPalPaymentsForm.render,只需对其进行子类化并修改render方法以返回所需的 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
于 2018-03-10T05:55:40.533 回答