2

我正在使用 Django 并希望匹配 URLdomain.com/wdomain.com/words. 我有一个形式的配置行:

url(r'^w(ords)?$', 'app_name.views.view_words')

view_words只接受一个参数 ( request),但似乎 Django 捕获了(ords)正则表达式的一部分并将其传递给视图。当我(ords)从正则表达式中删除并访问domain.com/w时,它可以正常工作。

Django 文档和类似的 StackOverflow 问题涵盖了如何捕获可选的 URL 参数,但我不想从 URL 中捕获任何参数。有没有办法匹配 URL 的可选元素而不将其捕获为参数?

4

1 回答 1

9

是的,使用非分组括号(?:...),,所以是这样的:

url(r'^w(?:ords)?$', 'app_name.views.view_words')

另见python正则表达式的文档

于 2013-12-22T21:56:50.237 回答