Как предварительно отформатировать строку для отображения гиперссылки во фронтенде с помощью django

У меня есть модель, в которой я принимаю строковые данные в поле char. это заполняется через поле администратора Django.

Models.py

class Test(models.Model):
   overview = models.CharField(max_length=10000, null=True, blank=False)

views.py

from .models import Test
def testView(request):
    data = Test.objects.all()
    return render(request, 'abc.html', {'data': data})

мой шаблон, в котором есть html

<p style="text-align: center; color: black">{{data.overview  | linebreaks}}</p>

этот имитационный ответ данных:

"with the great power comes the great responsibility.
<a href="https://www.google.co.in/">connect</a>" from backend.

как показать это как ссылку внутри абзаца в front end.

ссылка может присутствовать в любом месте абзаца, как указано в тексте в django-admin

в настоящее время вместо ссылки отображается весь тег якоря

Ваш вопрос недостаточно ясен.

Однако. Для ссылок можно использовать URLField вместо CharField.

Преобразует URL и адреса электронной почты в текст.

Если вы не уверены, где в тексте может находиться ссылка, используйте RegEx:

url_re = re.compile(r'^www.[a-zA-z$#./?=:;+&@{}|,%<>~0-9]*', re.IGNORECASE)
words = word_split_re.split(str(text))

for i, word in enumerate(words):
    if '.' in word or '@' in word or ':' in word:
        lead, middle, trail = '', word, ''
        lead, middle, trail = trim_punctuation(lead, middle, trail

    if url_re.match(middle):
                url = smart_urlquote('http://%s' % html.unescape(middle))
                klass = "js-css-class"
Вернуться на верх