Django url re_path 无法重定向到正确的视图

Django url re_path failed to redirect to the correct view

Django re_path 不匹配,我不知道原因。

urls.py

urlpatterns = [
    ..
    re_path(r'^localDeliveryPayment\?paymentId\=(?P<UUID>[0-9-a-z]{32})$', verifyMobilePayReceived.as_view()),
    re_path(r'^localDeliveryPayment$', Payment.as_view(), name = 'localDeliveryPayment'),
    ..
]

如果url www.example.com/localDeliveryPayment 用户被定向到付款视图。

如果 url www.example.com/localDeliveryPayment?paymentId=00340000610febab0891e9008816d3e9 用户应该被定向到 verifyMobilePayReceived 视图。问题是现在 www.example.com/localDeliveryPayment?paymentId=00340000610febab0891e9008816d3e9 仍然定向到付款视图。

您正试图在您的 URL 路由中捕获 GET 参数,这是您正在尝试做的事情的错误方法。

要么继续使用您当前传递 paymentId GET 参数的方法并检查它是否存在于您的 Payment.as_view() 视图中,要么您可以将其重做为类似的内容。

    re_path(r'^localDeliveryPayment/<UUID:NAME_OF_UUID_IN_MODEL>/', verifyMobilePayReceived.as_view()),

这应该为您想要的模型提供过滤。