Почему я не получаю ответ google gemini в виде абзацев на html-странице

Я использую google gemini api в моем django, все идет хорошо, ответ, сгенерированный моим gemini в терминале, идеально подходит с пробелом между двумя абзацами и все, но когда я передаю этот ответ на html страницу, все форматирование исчезло, нет строки пробела между двумя абзацами, и я не знаю, почему он производит ненужные звезды ** в ответе, пожалуйста, скажите мне, как я это исправить.enter image description here

Это изображение ответа, сгенерированного в терминале.

enter image description here

вот как это выглядит на html-странице.

Я сохраняю ответ, сгенерированный gemini, в базе данных, а затем получаю его на html-странице.

Пожалуйста, помогите мне и скажите, как сделать его более аккуратным в html, также скажите, как игнорировать эти ненужные звезды.

Вот как выглядит мой models.py enter image description here

это html-шаблон enter image description here

Текст генерируется, скорее всего, на Markdown, который стремится быть экономным языком форматирования с минимальными накладными расходами. Например, элементы между двойными звездочками (т.е. **foo**) выделены жирным шрифтом.

Вы можете эффективно генерировать HTML из markdown с помощью библиотеки, например:

pip install markdown

а затем с помощью свойств оберните их в html:

from django.utils.safestring import mark_safe
from markdown import markdown


class Data_1(models.Model):
    Question = models.CharField(max_length=10000, null=True)
    Answer = models.CharField(max_length=10000, null=True)

    @property
    def question_html(self):
        return mark_safe(markdown(self.Question))

    @property
    def answer_html(self):
        return mark_safe(markdown(self.Answer))

и визуализировать с помощью:

{% for data_1 in data_test %}
  <div>
    <p style="color: antiquewhite;">{{ data1.question_html }}</p>
    <br>
    <p style="color: aqua;">{{ data1.answer_html }}</p>
  </div>
{% endfor %}

Примечание: Модели в Django пишутся на PascalCase, а не snake_case, поэтому вы можете переименовать модель из Data_1 в Data1.


Примечание: обычно названия полей в модели Django записываются в snake_case, а не PascalCase, поэтому должно быть: question вместо Question.

Вернуться на верх