0

在此处输入图像描述

重定向网址是“liveinterviewList/2”

而且,当然,我在 url.py 中声明了该 url,当我在浏览器中手动键入该 url 时,它运行良好。怎么了?

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

请给我一个提示。

4

3 回答 3

1

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

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

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

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

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

于 2019-11-18T14:07:16.037 回答
0

You should add a name to your path url and use it to redirect.

As the django doc says :

urls :

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

def my_view(request):
    ...
    return redirect('some-view-name')
于 2019-11-18T14:08:07.117 回答
0

Djangoreverse函数接受路径的名称而不是 URL。

假设我有这样的 url 模式

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

在我看来,我可以这样使用

def my_view(request):
     return redirect(reverse("users-list"));
于 2019-11-18T13:56:30.743 回答