我正在开展一个项目,我需要在django-paypal包中进行一些更改。我克隆了包的GitHub仓库并做了一个非常简单的更改(只需更改表单提交类型=图像源)然后通过from paypal.standard.forms import PayPalPaymentsForm
安装它但现在我找不到任何路径导入此包。
例如,当我使用python setup.py install
进行安装时,我可以像paypal
一样导入它,但是在通过/^\d+(,\d+)*$/
从本地更改的源安装后,它就找不到了ActiveCell.FormulaR1C1 = "=SUM(RC[-1],RC[-2])"
ActiveCell.Select
Selection.Copy
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(0, 1).Range("A1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Range("A1").Select
包。
我该如何解决这个问题?
请帮帮我!
提前致谢!
答案 0 :(得分: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