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

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

我该如何解决这个问题?

请帮帮我!

提前致谢!

最佳答案

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

无需更改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

关于python - 自定义Python软件包-django-paypal,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49205715/

10-11 23:21
查看更多