在Django模板中使用url

2024-09-29 06:33:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下django 1.9端点:

url(r'^(?P<pk>\d+)/members/(?P<status>active|deactivated)?$',
    gym.GymUserListView.as_view(),
    name='user-list')

使用上述方法,一个有效的url将类似于/1/members/active或{}

我正在尝试在我的一个模板中使用url,例如:

^{pr2}$

这将引发以下错误:

django.core.urlresolvers.NoReverseMatch: Reverse for 'user-list' with arguments '()' and keyword arguments '{'pk': 1, 'status': 'deactivated'}' not found.
0 pattern(s) tried: [ ]

怎么了?在


Tags: djangoviewurlasstatus端点argumentslist
2条回答

似乎您忘记了包含名称空间。URL标记应该类似于:

{% url 'users:user-list' pk=gym.id status='deactivated' %}

这可能是一些事情。在

  • 仔细检查该regex的语法(我没有这样做)。也许可以删除status参数的模式,并将其替换为当前通用的模式,以消除潜在的原因。在
  • 你也可以尝试完全删除第二个参数,看看你是否能得到只由pk生成的URL-这将肯定地告诉你问题是否出在你的URL的模式或配置上
  • 根据应用程序的布局,您可能需要在templatetag中使用命名空间:{% url 'myapp:user-list' pk=gym.id status='deactivated' %}
  • 在您的INSTALLED_APPS中,应用程序中的urls.py是否适用于本例?在

相关问题 更多 >