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')
重定向 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')