Найти - Пользователи
Полная версия: redirect на get_absolute_url
Начало » Django » redirect на get_absolute_url
1
dissdoc
Всем привет. Признаюсь честно, не понимаю зачем нужна приблуда get_absolute_url =) Т.е. полное непонимание этой штуки. Но в документации описывается мол, вроде как верно с точки зрения DRY использовать get_absolute_url )) Тогда возникает вопрос. Как ее использовать?
Сейчас я использую наименование url'a. Т.е. что-то вроде
url(r'^$/(?P<id>)', func, name='main')
А потом через HttpRequestRedirect(reverse('main'))
Сейчас не говорим о синтаксисе. Я хочу понять принцип. А как тогда через get_absolute_url вернуться на страницу? Или я что-то не догоняю?
Александр Кошелев
get_absolute_url должен возвращать url по которому доступен данный объект. С редиректами или чем-то таким о никак не звязан.
expee
Как уже написали выше - get_absolute_url должен возвращать url объекта. Например, ты в шаблоне делаешь список записей. Ты можешь записать ссылки до них так:
<a href="/show/{{ entry.id }}/">...</a>
Но когда ты захочешь что-то изменить, то придется это менять в шаблонах. Можно записать так:
<a href="{{ url main entry.id }}">...</a>
Но, возможно, в будущем ты захочешь сделать url'ы по slug'у. Тебе опять придется менять везде, т.к. ты будешь передавать уже не id, а slug. Гораздо проще сделать метод, который тебе всегда будет возвращать url объекта.
<a href="{{ entry.get_absolute_url }}">...</a>
dissdoc
ааа.. Ясненько. Сейчас разобрался..
Спасибо за скорую помощь)
SvartalF
К выше описанному, не
{{ url main entry.id }}
а
{% url main entry.id %}
expee
действительно :) спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB