[英]method reverse django error
我正在使用反向調用方法,但我有問題論證,我無法理解。 我的錯誤:反向'shopping.views.payment_confirmation',參數'(35,)'和關鍵字參數'{}'未找到。
我的網址:
url(r'^payment_confirmation/(?P<id>\d+\d{2\})/$', 'payment_confirmation', name='payment_confirmation'),
我的觀點:
def show(request):
...
...
payment.submit(settings.SITE_URL + reverse("shopping.views.payment_confirmation", args=[payment.id]))
我的型號付款:
class Payment(models.Model):
...
...
def submit(self, redirect_url):
'''
Sends self as a Payment through PagSeguro API.
Payment instance MUST BE SAVED before calling this method.
'''
if not self.id:
#Temporary to identify which problem caused the crash.
raise ValidationError
#creating a reference if its None
if self.reference is None:
self.reference = configs.PAGSEGURO_REFERENCE_PREFIX + str(self.id)
document = Document()
document.appendChild(self.to_element(document, redirect_url))
response = document2dict(api.submit_payment(document))
try:
self.code = response['checkout']['code']
self.answered_on = datetime.datetime.now()
self.save()
except:
error_str = ""
if type(response["errors"]["error"]) != list:
response["errors"]["error"] = [response["errors"]["error"]]
for error in response["errors"]["error"]:
error_payment = ErrorPayment()
error_payment.code = int(error['code'])
error_payment.payment = self
error_payment.save()
error_str += "[%s: %s]" % (error_payment.code,
error_payment.get_code_display())
raise Exception(error_str)
錯誤在這里payment.submit(settings.SITE_URL + reverse(“shopping.views.payment_confirmation”,args = [payment.id]))我',使用這個api https://bitbucket.org/leonardosantos/django-pagseguro2 /
這一行:reverse(“shopping.views.payment_confirmation”,args = [payment.id])告訴Django在購物應用程序的views.py文件中找到一個名為payment_confirmation的方法,該文件將接受付款ID參數。
在您共享的錯誤中,payment.id為35.錯誤是說您的shopping.views中沒有名為payment_confirmation的方法,或者該方法不接受單個int作為參數。
您沒有在視圖文件中共享payment_confirmation方法,因此這似乎是問題所在。 你需要添加:
def payment_confirmation(payment_id):
#do stuff
對你的看法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.