django url _reverse _ 不是有效的视图函数或模式名称

django url _reverse _ not a valid view function or pattern name

重定向 url 是 "liveinterviewList/2"

当然,我在 url.py 中声明 url 此外,当我在浏览器中手动输入 url 时,效果很好。 怎么了?

更多问题。 在这种情况下,我将 user_id 写在 url 上。 我认为,这不是制作 url 模式的好方法。 但我不知道如何在没有 url 模式的情况下传递 user_id 变量。

请给个提示

Django reverse 函数接受路径名称而不是 URL。

假设我有 url 个这样的模式

urlpatterns = [
   path('/users/list', name="users-list")
]

在我看来我可以这样使用

def my_view(request):
     return redirect(reverse("users-list"));

HariHaraSudhan 遗漏的是如何使用参数。对于你的情况,你会想要这样的东西:

path(r'liveinterviewList/<int:userId>', ..., name='live-interview'),

然后当你准备反转时,使用这个:

reverse('app:live-interview', kwargs={ 'userId': userId })

其中 app 是您的视图所在的应用程序的名称。如果您的 url 位于主 urls 文件中,则不需要 app: 前缀。

您应该在路径中添加一个名称 url 并使用它进行重定向。

正如 django 文档所说:

url秒:

urlpatterns = [
   path('/name', name="some-view-name")
]

def my_view(request):
    ...
    return redirect('some-view-name')