Почему я не получаю ответ google gemini в виде абзацев на html-странице
Я использую google gemini api в моем django, все идет хорошо, ответ, сгенерированный моим gemini в терминале, идеально подходит с пробелом между двумя абзацами и все, но когда я передаю этот ответ на html страницу, все форматирование исчезло, нет строки пробела между двумя абзацами, и я не знаю, почему он производит ненужные звезды ** в ответе, пожалуйста, скажите мне, как я это исправить.
Это изображение ответа, сгенерированного в терминале.
вот как это выглядит на html-странице.
Я сохраняю ответ, сгенерированный gemini, в базе данных, а затем получаю его на html-странице.
Пожалуйста, помогите мне и скажите, как сделать его более аккуратным в html, также скажите, как игнорировать эти ненужные звезды.
Вот как выглядит мой models.py
Текст генерируется, скорее всего, на 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