在我的Django urlconf中,我想为探测脚本的请求返回404。否则,请求不必要地访问数据库以查找相应的FlatPage,因为我正在使用FlatPage中间件。
我的问题是,以下匹配正确的模式是将{php','cgi'或'pl'作为template_name
参数发送到page_not_found
视图函数。
urlpatterns = patterns('',
# don't even bother looking up a flatpage for these matches
(r'\.(php|cgi|pl)$', 'django.views.defaults.page_not_found'),
...
)
在不将匹配作为参数发送到视图的情况下,执行该正则表达式“或”逻辑的方法是什么?
答案 0 :(得分:2)
非捕获组以(?:...)
表示。
答案 1 :(得分:0)
您可以使用非捕获组:(?:regex)
所以你的模式是:
(r'\.(?:php|cgi|pl)$', 'django.views.defaults.page_not_found'),