Извлечение блога в Django

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

Один из способов сделать это – сделать дополнительное поле и сохранить фиксированное количество слов для каждой записи в блоге, скажем, 20 слов. Но тогда это будет хранить избыточную информацию в базе данных. Есть ли лучший способ сделать это?

3 Solutions collect form web for “Извлечение блога в Django”

Я предлагаю вам использовать фильтр шаблонов truncatewords .

Пример шаблона:

<ul> {% for blogpost in blogposts %} <li><b>{{blogpost.title}}</b>: {{blogpost.content|truncatewords:10}}</li> {% endfor %} </ul> 

Если содержимое блога хранится как HTML, используйте truncatewords_html чтобы гарантировать, что открытые теги закрываются после точки усечения (или объединяются со striptags для удаления тегов html).

Если вы хотите обрезать символы (а не слова), вы можете использовать slice :

 {{blogpost.content|slice:":10"}} 

(выводит первые 10 символов).

Если содержимое хранится как HTML, соединитесь со striptags чтобы избежать проблем с открытыми тегами: {{blogpost.content|striptags|slice:":10"}}

В Django 1.4 и более поздних версиях есть фильтр truncatechars , который усекает строку до определенной длины и завершает ее с помощью ... Он фактически усекает его до определенной длины минус 3, а последние 3 символа становятся ...

Немного связано ..

Я просто ответил на этот вопрос: фильтр шаблонов Django strip_tags добавляет пространство, которое может помочь другим при создании выдержек, содержащих HTML-теги и короткий контент в тегах <p>.

Помогает преобразовать это.

 "<p>This is a paragraph.</p><p>This is another paragraph.</p>" 

к этому..

 'This is a paragraph. This is another paragraph.' 

вместо этого..

 'This is a paragraph.This is another paragraph.' 
  • NoReverseMatch at / product / pussyes / Реверс для 'basket_adding' не найден. 'basket_adding' не является допустимой функцией просмотра или именем паттерна
  • Развертывание Django с Apache на AWS - Структура каталога
  • Django App Engine: AttributeError: объект 'AnonymousUser' не имеет атрибута 'backend'
  • Предварительно заполнить встроенный FormSet?
  • Ajax Post Request to TastyPie ничего не делает
  • Лучшие практики разработки и развертывания Django и VirtualEnv
  • Django runerver, импорт неудачен - название проекта заглавное?
  • Django с огромной базой данных mysql
  • Python - лучший язык программирования в мире.