Предыдущий, следующий пост Django

категория: Django
Меня попросили сделать на этом блоге навигацию переключения на предыдущую и следующую статью, и я решил описать этот небольшой процесс. Тут ничего не нужно делать особо, не нужно добавлять поля next_id, prex_id в модель, потом их обновлять или переопределять. Видел подобную реализацию с кучей кода. Джанго за нас уже все сделал. Нужно поле даты добавления, у меня "created". Открываем шаблон со статьей, пусть будет post.html и вставляем методы post.get_previous_by_created и post.get_next_by_created. У меня выглядит оно так:
<div class="prev-next-post">
    {% if post.get_previous_by_created %}
        <div class="prev-post">
	    <a href="{{ post.get_previous_by_created.id }}">
	        << {{ post.get_previous_by_created.title }}
	    </a>
	</div>
    {% endif %}
    {% if post.get_next_by_created %}
        <div class="next-post">
	    <a href="{{ post.get_next_by_created.id }}">
		{{ post.get_next_by_created.title }} >>
	    </a>
	</div>
    {% endif %}
</div>
Добавляем стили и даже логики никакой не пришлось писать и придумывать, пользуйтесь.


blog comments powered by Disqus