Найти - Пользователи
Полная версия: Правильная реализация краткой версии новости
Начало » Django » Правильная реализация краткой версии новости
1
Mutagena
Подскажите, как правильно реализовать краткую и полную версию новости так, чтобы был какой-то тег, по которому происходило отделение краткой новости от полной.
Раньше я писала в новости , и разбирала текст так: post.partition(''). Как правильнее, на ваш взгляд?
magasoft
Лучше всего отдельное поле в базе.
vaxXxa
А мне кажется, что написать тег, чтобы отделял первые (к примеру) 70 знаков, без обрезки слов…
Ну, если последнее слово выходит за наши границы, то просто не брать его…
И дальше ставить три точки…
vaxXxa
“Все уже украдено до нас…”
http://docs.djangoproject.com/en/1.1/ref/templates/builtins/#truncatewords

{% for story in story %} 
<h1>{{ story.title }}</h1>
<div>{{ story.content|safe|truncatewords_html:20 }}</div>
{% endfor %}
Данный пример выводит первые 20 слов.
magasoft
vaxXxa
“Все уже украдено до нас…”
Хм. Мне показалось вопрос не наличиях тегов, а в том как лучше, хотя лучше тоже относительно.
Отдельное поле хоть и есть денормализация с одной стороны, с другой производительней и дает больший простор для редакторов. Поэтому нагруженных и крупных проектах это предпочтительней.
vaxXxa
magasoft, согласен. Если делать упор на производительность, то надо еще одно поле сделать, куда будет генерироваться краткая версия новости при сохранении экземпляра модели.
Mutagena
vaxXxa, последую этому примеру :)
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