Mutagena
Фев. 3, 2010 15:54:48
Подскажите, как правильно реализовать краткую и полную версию новости так, чтобы был какой-то тег, по которому происходило отделение краткой новости от полной.
Раньше я писала в новости , и разбирала текст так: post.partition(''). Как правильнее, на ваш взгляд?
magasoft
Фев. 3, 2010 16:37:05
Лучше всего отдельное поле в базе.
vaxXxa
Фев. 3, 2010 23:47:46
А мне кажется, что написать тег, чтобы отделял первые (к примеру) 70 знаков, без обрезки слов…
Ну, если последнее слово выходит за наши границы, то просто не брать его…
И дальше ставить три точки…
vaxXxa
Фев. 4, 2010 00:19:48
“Все уже украдено до нас…”
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
Фев. 4, 2010 00:29:33
vaxXxa
“Все уже украдено до нас…”
Хм. Мне показалось вопрос не наличиях тегов, а в том как лучше, хотя лучше тоже относительно.
Отдельное поле хоть и есть денормализация с одной стороны, с другой производительней и дает больший простор для редакторов. Поэтому нагруженных и крупных проектах это предпочтительней.
vaxXxa
Фев. 4, 2010 01:03:45
magasoft, согласен. Если делать упор на производительность, то надо еще одно поле сделать, куда будет генерироваться краткая версия новости при сохранении экземпляра модели.
Mutagena
Фев. 4, 2010 12:36:02
vaxXxa, последую этому примеру :)