bleach linkify Оборачивание localhost:8000
30 марта 2017 г. 3:43
bleach linkify()
пока, к сожалению, не умеет оборачивать ссылки локалхоста типа localhost:8000
, но можно написать небольшой workaround, суть которого заключается в следующем: мы заменяем localhost:8000
на какой-нибудь несуществующий сайт, напр. dummy_site.ru
, затем применяем linkify()
и в заключении возвращаем localhost:8000
. Вот небольшой реальный пример:
class Log(models.Model): content = models.TextField('Содержание лога') def get_content(self): def set_target(attrs, new=False): attrs['target'] = '_blank' return attrs content = '{}'.format(self.content.replace('\n', '<br/>')) # workaround to allow linkify localhost:8000 content = content.replace('localhost:8000', 'dummy_site.ru') content = linkify(content, callbacks=[set_target, ]) content = content.replace('dummy_site.ru', 'localhost:8000') return content
Чтобы долго не искать, как добавить
target="_blank"
ссылкам, я оставил callback
set_target(attrs, new=False)
- часто пригождается.Похожие статьи:
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0