在 Django 模板中使用 url
Using url in Django Templates
我有以下 django 1.9 端点:
url(r'^(?P<pk>\d+)/members/(?P<status>active|deactivated)?$',
gym.GymUserListView.as_view(),
name='user-list')
使用上面的方法,一个有效的 url 就像 /1/members/active
或 /1/members/deactivated
我正在尝试在我的模板之一中使用 url
,例如:
<button type="button" class="btn btn-outline-warning">
<a href="{% url 'user-list' pk=gym.id status='deactivated' %}"/>View Inactive</a>
</button>
这会引发以下错误:
django.core.urlresolvers.NoReverseMatch: Reverse for 'user-list' with arguments '()' and keyword arguments '{'pk': 1, 'status': 'deactivated'}' not found.
0 pattern(s) tried: [ ]
有什么问题吗?
这可能是一些事情。
- 仔细检查该正则表达式的语法(我没有这样做)。也许删除状态参数的 或 模式并将其替换为现在通用的内容以消除它作为潜在原因。
- 您也可以尝试完全删除第二个参数,看看是否可以只获得由 pk 生成的 URL - 这将明确告诉您问题出在模式还是网址配置上
- 根据您的应用布局,您可能需要在模板标签中使用命名空间:
{% url 'myapp:user-list' pk=gym.id status='deactivated' %}
- 您的
INSTALLED_APPS
中是否有urls.py
用于这种情况的应用程序?
您似乎忘记包含命名空间。 URL 标签应该是这样的:
{% url 'users:user-list' pk=gym.id status='deactivated' %}
我有以下 django 1.9 端点:
url(r'^(?P<pk>\d+)/members/(?P<status>active|deactivated)?$',
gym.GymUserListView.as_view(),
name='user-list')
使用上面的方法,一个有效的 url 就像 /1/members/active
或 /1/members/deactivated
我正在尝试在我的模板之一中使用 url
,例如:
<button type="button" class="btn btn-outline-warning">
<a href="{% url 'user-list' pk=gym.id status='deactivated' %}"/>View Inactive</a>
</button>
这会引发以下错误:
django.core.urlresolvers.NoReverseMatch: Reverse for 'user-list' with arguments '()' and keyword arguments '{'pk': 1, 'status': 'deactivated'}' not found.
0 pattern(s) tried: [ ]
有什么问题吗?
这可能是一些事情。
- 仔细检查该正则表达式的语法(我没有这样做)。也许删除状态参数的 或 模式并将其替换为现在通用的内容以消除它作为潜在原因。
- 您也可以尝试完全删除第二个参数,看看是否可以只获得由 pk 生成的 URL - 这将明确告诉您问题出在模式还是网址配置上
- 根据您的应用布局,您可能需要在模板标签中使用命名空间:
{% url 'myapp:user-list' pk=gym.id status='deactivated' %}
- 您的
INSTALLED_APPS
中是否有urls.py
用于这种情况的应用程序?
您似乎忘记包含命名空间。 URL 标签应该是这样的:
{% url 'users:user-list' pk=gym.id status='deactivated' %}