Django 从添加斜杠中排除单个 url

Django exclude a single url from adding slash

我在我的 Django urls 配置中添加了 2 个视图用于 SEO,但是当我在我的网站上查看它们时,它会将它们重定向到我设置的 url,但添加了斜线。我知道 Django 喜欢用斜线整理 URL(我喜欢这个)但是有没有办法从这个特性中排除单个 url 或几个 url?

    ...
    url(r'^robots\.txt/$', TemplateView.as_view(template_name='robots.txt', content_type='text/plain')),

    url(r'^sitemap\.xml/$', TemplateView.as_view(template_name='sitemap.xml', content_type='text/xml')),
    ...

这些附加斜线到 urls 导致 robots.txt/sitemap.xml/ 而不是 robots.txtsitemap.xml

如果您不想在 robots.txtsitemap.xml 末尾使用斜杠,则只需从这些正则表达式中删除结尾的斜杠即可。

url(r'^robots\.txt$', TemplateView.as_view(template_name='robots.txt', content_type='text/plain')),
url(r'^sitemap\.xml$', TemplateView.as_view(template_name='sitemap.xml', content_type='text/xml')),

URL /robots.txt/sitemap.xml 将匹配,Django 将不会附加斜杠。