【问题标题】:How to retrieve data from url using django urls如何使用 django urls 从 url 检索数据
【发布时间】:2021-03-03 12:16:08
【问题描述】:

这是从我正在集成的支付网关获取的回调 URL http://127.0.0.1:8000/checkout/mfsuccess/?paymentId=060630091021527961&Id=060630091021527961

我想从这个 URL 中提取 paymentId int 以便在我的函数中使用它

这是正在使用的 URL 行

path('checkout/mfsuccess/?<str:paymentId>', gateway_Success, name='mf_success'),

这是我的功能

def gateway_Success(request, id):
    payment_id = request.GET.get('id')
    print(payment_id)
    context = {
        "payment_id": payment_id
    }
    return render(request, "carts/checkout-mf-success.html")

我如何做到这一点,因为我的方式不起作用我收到以下错误

未找到:/checkout/mfsuccess/ [20/Nov/2020 03:38:59] “GET /checkout/mfsuccess/?paymentId=060630091121528060&Id=060630091121528060 HTTP/1.1”404 4378

【问题讨论】:

标签: python django parsing url


【解决方案1】:

您无需调整path() 函数即可捕获URL 查询参数

path('checkout/mfsuccess/', gateway_Success, name='mf_success'),

另外,改变你的观点,


def gateway_Success(request):
    id_ = request.GET.get('Id') # retrieving the `Id`
    payment_id = request.GET.get('paymentId') # retrieving the `paymentId`
    context = {
        "payment_id": payment_id,
        "id_": id_
    }
    return render(request, "carts/checkout-mf-success.html", context=context)

这足以捕获重定向。

【讨论】:

  • 这里还有一个错别字。 request.GET.get('Id')(身份证→身份证)
猜你喜欢
  • 2020-08-03
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-15
相关资源
最近更新 更多