Ограничение количества тегов ‹br›, сгенерированных с помощью фильтра Django linbreaksbr

Для форума с пользовательским контентом, созданного с помощью Django, я рассматриваю возможность использования фильтра linkbreaksbr при отображении контента в шаблоне. Одна проблема заключается в том, что он преобразует все введенные пользователем новые строки в теги <br>. Это открывает возможности для злоупотреблений (например, сообщения, в которых отправитель вводит множество новых строк между предложениями).

Всякий раз, когда есть несколько символов новой строки, я бы предпочел, чтобы результатом был один <br>.

Есть ли способ реализовать эту функциональность через linebreaksbr Django? Если нет, то как можно переопределить это и создать необходимые функции? Было бы неплохо получить наглядный ответ.


person Hassan Baig    schedule 08.07.2018    source источник


Ответы (1)


Я предлагаю вам уменьшить количество новых строк во время сохранения, поэтому в MyModel.save или при проверке формы просто замените несколько новых строк одной

также проверьте этот вопрос

person aliva    schedule 08.07.2018
comment
Это на самом деле крутая идея. Я думаю, я пойду на проверку формы. Кстати, до того, как прочитать ваш ответ, я подумал, что вернусь к фильтру linebreaks и переопределю тег p, чтобы иметь 0 margin-top и margin-bottom. Это приближается к тому же эффекту, который я ищу, но переопределение p довольно хакерское. Спасибо еще раз! - person Hassan Baig; 08.07.2018