我怎样才能使Django url正则表达式不能捕获所有单词?

时间:2016-07-10 00:40:58

标签: regex django

这是我项目的网址模式:

r'^(?i)(?P<site_name>[a-zA-Z]+)/$'

不幸的是,/snu/upload抓住了所有内容,因此r'^(?i)(?P<site_name>[a-zA-Z]+)/upload$'无法正常工作。

r'^(?i)upload/$'这样的东西可能有用,但我不想要它。它应该是errors={ 'InternalServerError': { 'status': 500, 'message': 'Internal Server Error' }, } api = Api(app, errors=errors) 。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

订单在URL调度程序的模式匹配中很重要。第一场比赛得到解决并返回。

  

Django按顺序遍历每个URL模式,并在第一个匹配请求的URL的位置停止。

所以你可能想要移动特定的&#34;模式更高。

换句话说,移动

# ex) /snu/upload
url(r'^(?i)upload/$', views.upload, name='upload'),

到第二个位置。