Django正则表达式模式匹配

时间:2017-02-10 04:48:27

标签: django django-urls

我有以下urlpatterns:

url(r'^api/daily-means/$', views.daily_means.as_view(), name='daily_means'),
url(r'^api/daily-means/sites/(?P<url>\w+)/$', views.site_daily_means.as_view()),
url(r'^api/daily-means/pollutant/(?P<poll>\w+)$/', views.pollutant_daily_means.as_view()),

前两个工作正常。最后一个显示的工作与第二个工作相同,但事实并非如此。我对正则表达式和urlpatterns不太好,但我认为第二个url模式有一些东西阻止了最后一个运行。其他人可以看到这个原因吗?

1 个答案:

答案 0 :(得分:1)

如果未提供结束斜杠,Django将附加结束斜杠。在你的正则表达式中,你匹配没有结束斜杠。 url(r'^api/daily-means/pollutant/(?P<poll>\w+)$/', views.pollutant_daily_means.as_view()),

以下网址格式应该有用(在包含结束斜杠作为网址匹配的一部分之后)。

url(r'^api/daily-means/pollutant/(?P<poll>\w+)/$', views.pollutant_daily_means.as_view()),