Как поменять местами ссылки на django?

Я искал часы, чтобы попытаться выяснить это, и похоже, что никто никогда не размещал пример в Интернете - я только что создал объект представления RSS-канала Django 1.2 и прикрепил его к URL-адресу. Когда я захожу на URL-адрес, все работает отлично, поэтому я знаю, что моя реализация класса каналов в порядке.

Дело в том, что я не могу понять, как сделать ссылку на URL в моем шаблоне. Я мог бы просто написать это жестко, но я бы предпочел использовать {% url %}

Я попытался пройти полный путь следующим образом:

{% url app_name.lib.feeds.LatestPosts blog_name=name %}

И я ничего не получаю. Я искал, и кажется, что у всех есть решение, настолько очевидное, что не стоит публиковать в Интернете. Я только что был слишком долго?

Вот соответствующий шаблон URL:

from app.lib.feeds import LatestPosts

urlpatterns = patterns('app.blog.views',
    (r'^rss/(?P<blog_name>[A-Za-z0-9]+)/$', LatestPosts()),
    #snip...
)

Спасибо за вашу помощь.

1 ответ

Решение

Вы можете назвать свой шаблон URL, который требует использования url вспомогательная функция:

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...
)

Затем вы можете просто использовать {% url latest-posts blog_name="myblog" %} в вашем шаблоне.

Другие вопросы по тегам