【发布时间】:2016-01-24 06:16:36
【问题描述】:
假设我有这个:
from django.core.urlresolvers import reverse
url = reverse('account-list')
假设这会导致 URL:`/account/list/'
如何添加到 URL?我想将该 URL 设为:/account/list/1(在其末尾添加一个 pk 值)。我在这里知道:Including a querystring in a django.core.urlresolvers reverse() call 它解释了如何添加 GET 参数(例如 ?pk=1,但我想知道是否有适当的方法可以添加到 URL(不使用 GET 参数))。
我正在使用 DRF 路由器: router = routers.DefaultRouter() router.register(r'users', views.UserViewSet) 并且用户详细信息视图采用 pk 值。所以我想做 url = reverse('user-list') 并在其末尾附加 /1。
【问题讨论】:
-
这没有多大意义。您不能只是反向添加随机参数 - 帐户列表 URL 实际上首先需要接受参数。
-
@DanielRoseman 是正确的。没有理由在 Django 中需要手动干预反向 url。但是,最终它只是一个字符串。添加内容,就像添加字符串一样。
-
@DanielRoseman 我正在使用 DRF 路由器:
router = routers.DefaultRouter() router.register(r'users', views.UserViewSet)和user-detail视图采用pk值。所以我想在url = reverse('user-list')后面加上/1。 -
不,如果您想获取传递该名称的用户详细信息视图的 URL,加上 pk 来反转,您不要尝试操纵列表 URL。为什么详细 url 仍然包含“列表”?
标签: python django django-urls