#python #html #jquery #flask
#python #HTML #jquery #flask
Вопрос:
Мне интересно, как хранить и загружать HTML-коды. В частности, я хочу хранить html-коды в некоторой базе данных и позволять им появляться на экране при нажатии кнопки.
Сейчас я пытаюсь сохранить его в csv-файле, и, похоже, он не работает. Не знаю других способов.
Это то, что я делал, и вы бы знали, что я хочу сделать.
—csv — (открывается и отображается как ‘obj’ в flask)
ind, title, article
1, A, <p> content</p>
2, B, <table style="color:blue"><tr>a</tr><table>
—html —(FLASK)
<div id='content'><div>
<tr id={{obj.ind}}>
<td>{{ obj.ind }}</td>
<td>{{ obj.title }}</td>
<script type=text/javascript>
$(document).ready(function(){
$("#{{obj.ind}}").click(function(){
$('#content').html("{{ obj.article }}")
})
})
</script>
</td>
Скрыт лист кода python Flask, который открывает csv-файл как «obj» и отображает его с помощью HTML-листа.
Когда вы нажимаете td ‘title’, в div ‘content’ должно отображаться каждое содержимое html. Но это не работает. Я думаю, что файл csv не может хранить html-коды, но не знаю других альтернатив. Надеюсь, вы знаете способ.
Комментарии:
1. Что вы видите в сгенерированном исходном коде, отправленном в браузер? Какие-либо ошибки в консоли инструментов разработчика браузера?
2. @charlietfl он показывает сам html-код, но в виде текста. вот так [ <div style=»position:fixed; top: 100px; left: 350px; width:300px; перенос слов: разрыв слов» id=»content»><table style=»color:blue»><tr>a</tr><таблица></ div> ]
3. @charlietfl в этой консоли ‘<table style=»color:blue»><tr>a</tr> <таблица>’ цвет этой части отображается черным, точно так же, как если бы это был чистый текст, а не код. Более того, когда я копирую и вставляю эту часть, она анализируется другим способом. вот так. <стиль div=»позиция: фиксированная; вверху: 100 пикселей; слева: 350 пикселей; ширина: 300 пикселей; перенос слов: разрыв слова» id=»содержимое»> < стиль таблицы=»цвет: синий» > amp; < tr amp; >a amp; </tr > <таблица></div>
4. Похоже, серверная часть преобразует
<
и>
в html-объектыamp;<
иamp;>
5. @charlietfl что мне делать? это бесполезно для декодирования с помощью синтаксического анализатора html
Ответ №1:
charlietfl прав.
HTML-код автоматически экранируется. Чтобы предотвратить это, вы могли бы использовать безопасный фильтр jinja.
{{ obj.article | safe }}
Обратите внимание на кавычки внутри вашей замены.