首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我有一个django反向的网址与PK <int:pk>

我有一个django反向的网址与PK <int:pk>
EN

Stack Overflow用户
提问于 2020-09-26 20:44:29
回答 1查看 590关注 0票数 0

我按照 This教程使用PayPal设置付款

我的问题是paypal_dict,因为它包含以下内容

代码语言:javascript
运行
复制
paypal_dict = {
...
'return_url': 'http://{}{}/{}'.format(host,
                                           reverse('payment_done')),
...
}

我的payment_done地址需要有一个交易本身的id,我不确定我怎么才能有一个pk这是我的完整URLs.py

代码语言:javascript
运行
复制
...
# Payment
    path('payment/process/<int:trade_id>/', payment_views.payment_process, name="payment_process"),
    path('payment/done/<int:trade_id>/', payment_views.payment_done, name="payment_done"),
...

我的完整process_paypal

代码语言:javascript
运行
复制
def payment_process(request, trade_id):
    trade = get_object_or_404(Trade, id=trade_id)
    host = request.get_host()

    paypal_dict = {
        'business': settings.PAYPAL_RECEIVER_EMAIL,  # todo WHO TO PAY
        'amount': Decimal(trade.price),
        'item_name': trade.filename,
        'invoice': str(trade.id),
        'currency_code': 'USD',
        'notify_url': 'http://{}{}'.format(host,
                                           reverse('paypal-ipn')),
        'return_url': 'http://{}{}/{}'.format(host,
                                           reverse('payment_done')),
        'cancel_return': 'http://{}{}'.format(host,
                                              reverse('home')),
    }

    form = PayPalPaymentsForm(initial=paypal_dict)
    return render(request, 'payment/payment_process.html', {'trade': trade, 'form': form})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-26 21:18:01

您可以使用argskwargs在url中传递trade_id

代码语言:javascript
运行
复制
paypal_dict = {
...
'return_url': 'http://{}{}'.format(host,
      reverse('payment_done', kwargs={'trade_id': trade.id})),
...
}

docs ref

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64077828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档