1

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

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

网址.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' object is not iterable)是以下异常的直接原因:我能得到一些帮助来解决这个问题吗?

4

1 回答 1

1

这不起作用的原因是因为[ reverse(…)Django-doc]将. 应该是可迭代的项目,如元组、列表等和类似字典的对象。您因此反转:argskwargsargskwargs

def get_success_url(self):
    return reverse('complete_booking', args=(self.object.id,))

redirect(…)另一方面,[Django-doc]get_success_url适用于位置参数和命名参数,但您不能将其用于.

于 2020-12-16T11:22:02.290 回答