反向URL中缺少Django贪婪字符

反向URL中缺少Django贪婪字符,django,django-urls,Django,Django Urls,我试图使用以下规则来映射django中的URL url(r'^(?P<permalink>[a-zA-Z0-9_-]*)/?$', views.page, name='page'), url(r'^(?P[a-zA-Z0-9_-]*)/?$”,views.page,name='page'), 这应该匹配像这样的页面 site.com site.com/super-awesome-page/ 这是可行的,但是url模板标签提供的反向url缺少尾随/i.e.“site.com/p

我试图使用以下规则来映射django中的URL

url(r'^(?P<permalink>[a-zA-Z0-9_-]*)/?$', views.page, name='page'),
url(r'^(?P[a-zA-Z0-9_-]*)/?$”,views.page,name='page'),
这应该匹配像这样的页面

  • site.com
  • site.com/super-awesome-page/
这是可行的,但是url模板标签提供的反向url缺少尾随/i.e.“site.com/page”这些确实被捕获的模式,但是我希望我的链接正确显示在我的页面中,如何才能使其正常工作


我本来希望,因为尾随斜杠是贪婪的,所以它应该包含在反向url中。

尾随斜杠在正则表达式中是可选的,所以django不会为反向url生成它


最简单的解决方案可能是将尾部斜杠设置为非可选。在默认设置下,django会将非斜杠版本重定向到斜杠版本。最简单的方法就是对其进行标准化。

将其设置为非可选会导致Permalink未匹配任何内容(根页面)的示例的URL变得丑陋。此外,虽然它是可选的,但我希望它包括在?是贪婪的我希望它不会被包含在与非贪婪的反向URL??