Como reverter o URL do django?
-
25-09-2019 - |
Pergunta
Estou procurando horas para tentar descobrir isso, e parece que ninguém jamais deu um exemplo online - acabei de criar um objeto Django 1.2 RSS Feed View e o anexei a um URL. Quando visito o URL, tudo funciona muito bem, então sei que minha implementação da classe Feed está bem.
O problema é que não consigo descobrir como vincular ao URL no meu modelo. Eu poderia codificá -lo difícil, mas prefiro usar { % url %}
Eu tentei passar o caminho completo como assim:
{% url app_name.lib.feeds.LatestPosts blog_name=name %}
E eu não recebo nada. Eu tenho pesquisado e parece que todo mundo tem uma solução tão óbvia que não vale a pena postar online. Acabei de ficar muito tempo?
Aqui está o padrão de URL relevante:
from app.lib.feeds import LatestPosts
urlpatterns = patterns('app.blog.views',
(r'^rss/(?P<blog_name>[A-Za-z0-9]+)/$', LatestPosts()),
#snip...
)
Obrigado pela ajuda.
Solução
Você pode Nomeie seu padrão de URL, que requer o uso do url
função auxiliar:
from django.conf.urls.defaults import url, patterns
urlpatterns = patterns('app.blog.views',
url(r'^rss/(?P<blog_name>[A-Za-z0-9]+)/$', LatestPosts(), name='latest-posts'),
#snip...
)
Então, você pode simplesmente usar {% url latest-posts blog_name="myblog" %}
no seu modelo.