【问题标题】:Adding arbitrary extensions to URLs generated by Django向 Django 生成的 URL 添加任意扩展
【发布时间】:2010-02-20 12:59:58
【问题描述】:

Django 具有出色的 URLConf 和 URL 反向映射/匹配。我正在寻找向 Django 生成的 URL 添加任意扩展的提示/技巧。有时,很高兴看到能推荐您品牌的附加信息。

【问题讨论】:

  • 你能提供一些例子吗?
  • 这里根本不清楚你在问什么。什么样的“扩展”?
  • 说添加 .html 或 .xyz 到您的 URL。示例:site.com/view/this-is-slug.html

标签: django django-urls


【解决方案1】:

好的,假设我想发布一些 HTML、PDF、DOC 等格式的文档。 urlconf 中的模式如下所示:

(r"^/docs/(?P<doc_slug>[\w-]+).(?P<ext>\w+)$", myapp.views.view_doc),

和观点:

def view_doc(request, doc_slug, ext):
    if ext == "html":
        #...
    elif ext == "pdf":
        #...
    else:
        return Http404("Document not available in this format")

【讨论】:

  • +1 谢谢,但不是真的。但是你给了我一个想法。
  • 恕我直言更好的方式:(r"^/docs/(?P&lt;doc_slug&gt;[\w-]+).(?P&lt;ext&gt;[pdf|html|doc]+)$", myapp.views.view_doc),
  • @cetver 您正在拆分 urlconf 和视图实现之间可能的扩展知识。格式不会经常变化的情况下可以,但我自己不会这样做
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-14
  • 2010-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
相关资源
最近更新 更多