python - 在 Django 模板中使用 url
问题描述
我有以下 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: [ ]
有什么问题?
解决方案
这可能是几件事。
- 仔细检查该正则表达式的语法(我没有这样做)。也许删除状态参数的or模式并将其替换为现在通用的东西,以消除潜在原因。
- 您也可以尝试完全删除第二个参数,看看您是否可以获得仅由 pk 生成的 URL - 这将确定问题是否出在您的 url 的模式或配置上
- 根据您的应用布局,您可能需要在模板标签中使用命名空间:
{% url 'myapp:user-list' pk=gym.id status='deactivated' %}
- 您的应用程序
urls.py
是否适用于这种情况INSTALLED_APPS
?
推荐阅读
- machine-learning - 如何在机器学习工具包上为历史数据设置警报
- deployment - 在学习章鱼部署方面遥遥领先
- tensorflow - 如何在 tensorflow 中查看模式元数据的所有可能选项?
- sql - 从数据库中提取多个 XML 的可能性
- arcgis-js-api - 自定义太阳位置
- wordpress - 按评论数对分类进行排序
- javascript - TypeScript - 为什么在地图中使用扩展运算符?
- java - java.lang.UnsupportedOperationException:请求标头查询不支持投影、选择或排序
- html - 页面未在 Microsoft Edge 中使用 jsp 中的表单标记显示
- laravel - 队列中的尾随数据推送作业