2010-02-20 2 views
1

Django имеет отличное URLConf и обратное сопоставление URL-адресов. Я ищу отзыв/трюк, чтобы добавить произвольные расширения к URL-адресам, созданным Django. Иногда приятно видеть расширения, которые предлагают ваш бренд.Добавление произвольных расширений к URL-адресам, сгенерированным Django

+0

Не могли бы вы привести несколько примеров? –

+0

Не совсем понятно, что вы здесь задаете. Какие «расширения»? –

+0

Скажите, добавив .html или .xyz к вашему URL. Пример: http://site.com/view/this-is-slug.html – Viet

ответ

1

ОК, допустим, я хочу опубликовать некоторые документы, которые доступны в форматах HTML, PDF, DOC и т. Д. Узор в привязок будет выглядеть следующим образом:

(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") 
+0

+1 Спасибо, но не совсем. Но вы дали мне представление, как это сделать. – Viet

+0

imho better way: '(r" ^/docs/(? P [\ w -] +). (? P [pdf | html | doc] +) $ ", myapp.views.view_doc),' – cetver

+0

@cetver вы делитесь знаниями о возможных расширениях между urlconf и реализацией представления. ОК, когда форматы не будут меняться часто, но я бы сам этого не делал –