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尝试的模式或另一种简单的方法来处理这个问题?
的Django == 1.6.9
答案 0 :(得分:2)
我认为django将(statics|analytics)
解释为变量的模式。我建议如下:
为同一视图定义2个不同的网址:
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
并在视图测试中使用了哪个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
答案 1 :(得分:1)