url(r'^v1/(statistics|analytics)/stats_bar$', views.stats_bar, name='stats_bar')
reverse('stats_bar')
抛出 : 'stats_bar' 的反向参数 '()' 和关键字参数 '{}' 未找到。尝试了 1 个模式:['v1/(statistics|analytics)/stats_bar$']
有什么方法可以操纵 Django 尝试的模式或其他简单的方法来处理这个问题吗?
姜戈==1.6.9
最佳答案
我认为 django 将 (statics|analytics)
解释为变量的模式。我建议如下:
url(r'^v1/statistics/stats_bar$', views.stats_bar, name='stats_bar_statistics')
url(r'^v1/analytics/stats_bar$', views.stats_bar, name='stats_bar_analytics')
reverse('status_bar_statistics') # usage
并在 View 测试中使用了哪个 url:
if 'analytics' in request.path:
# do something
elif 'statistics' in request.path:
# do otherthing
url(r'^v1/ (?P<type>(statistics|analytics))/stats_bar$', views.stats_bar, name='stats_bar')
reverse('status_bar', kwargs={'type': 'statistics'}) # usage
关于python - 正则表达式匹配2条路由的Django NoReverseMatch异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34447198/