Urlconf 中似乎没有任何模式

Urlconf does not appear to have any patterns in it

我收到此错误,但我无法弄清楚。 在 views.py 我有:

...code...
def get_success_url(self):
    booking = self.object
    return reverse("complete_booking", booking.id)

urls.py:

from django.urls import path
from . import views


urlpatterns = [
    path(
        'confirm/',
        views.ConfirmTripView.as_view(),
        name="confirm_trip"),

    path(
        '<pk>/passengers/add',
        views.InputPassengersView.as_view(),
        name="create_passengers"),

    path(
        '<pk>/checkout/',
        views.CompleteBookingView.as_view(),
        name="complete_booking"),
]

让我感到困惑的是,'create_passengers' 视图(booking.id 作为参数传递)几乎完全相同,而且它工作正常。

回溯说:

Traceback 切换到复制粘贴视图

“包含的 URLconf“{name}”似乎没有任何模式。如果您在文件中看到有效模式,则问题可能是由循环导入引起的。”

上述异常('int' 对象不可迭代)是以下异常的直接原因: 我能得到一些帮助来解决这个问题吗?

这不起作用的原因是因为 reverse(…) [Django-doc]argskwargs 作为参数。 args 应该是一个 可迭代的 项,如元组、列表等,kwargs 是一个类似字典的对象。你因此逆转:

def get_success_url(self):
    return reverse('complete_booking'<b>, args=(self.object.id,)</b>)
另一方面,

redirect(…) [Django-doc] 使用位置参数和命名参数,但不能将其用于 get_success_url.