Извлечение блога в 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.' 
  • django bulk создать игнорировать дубликаты
  • Django rest изменить пароль пользователя
  • В Django, как мне получить escaped html в HttpResponse?
  • Условный SMS-ответ с Django / Twilio
  • Кто-нибудь знает хороший хак, чтобы сделать django-registration использовать электронные письма как имена пользователей?
  • Джанго. Как сохранить ContentFile, отредактированный с помощью подушки
  • Разбор документа с помощью BeautifulSoup, не анализируя содержимое тегов <code>
  • Предоставление файла iCal .ics с помощью Django: исправление неправильных строк перевода строки
  • django не удалось импортировать настройки
  • Является ли «если элемент в aList» возможен с шаблонами Django?
  • Django + FastCGI - случайное повышение OperationalError
  •  
    Interesting Posts for Van-Lav

    Как получить «USDJPY» (курсы валют) с помощью pandas и yahoo finance?

    Администратор Django: упорядочивается по соответствующему внешнему ключу

    Миграция в pip + virtualenv из setuptools

    Python рассчитывает разницу во времени, чтобы дать «годы, месяцы, дни, часы, минуты и секунды» в 1

    Emacs – вкладка-завершение локальных переменных Python

    Ускорение решения iloc в рамке данных pandas

    Как получить ссылку на все классы, реализующие объект дескриптора в python

    Как я могу заставить Python автоматически создавать недостающие пары ключ / значение в словаре?

    Pandas усредняет разницу между любыми двумя последовательными строками в области данных

    Python, как читать и разделять строку на несколько целых чисел

    Как извлечь название PDF-документа из сценария для переименования?

    Доступ к глобальным атрибутам изнутри макроса в Jinja2

    Показать stderr в pyqt QMessageBox

    Как я могу узнать классы в определенном пакете в python?

    Что означает «для x в y или z:» в Python?

    Python - лучший язык программирования в мире.