Django как превратить строку python в строку javascript и вывести ее на сайт
Я работаю с Django и в моих представлениях я посылаю моей странице строку HTML:
<p><code>202</code> </p><p>hello world/p>
<ul>
<li>Goodbye<strong><em>next</em></strong> or <strong><em>happy</em></strong> to go on.</li>
</ul> byebye <p><3</p>
Однако, он отправляется на страницу в виде:
var html_smallest_steps =
<p><code>202</code> </p><p>hello world/p>
<ul>
<li>Goodbye<strong><em>next</em></strong> or <strong><em>happy</em></strong> to go on.</li>
<
и я получаю консольную ошибку на моей странице:
Uncaught SyntaxError: Unexpected token '&'
Мой views.py имеет следующий вид:
def displayDict(request):
html_ss =
"""
<p><code>202</code> </p><p>hello world/p>
<ul> <li>Goodbye<strong><em>next</em></strong> or <strong><em>happy</em></strong> to go on.
</li> </ul> byebye <p><3</p>
"""
return render(request, 'chatStream.html',
{"html_sss": html_ss})
А chatStream.html это:
<p id="chatLine">get this working!!</p>
<script>
var html_smallest_steps = {{html_smallest_steps}}
}
setTimeout(myTimeout2, 2000)
function myTimeout2() {
document.getElementById("chatLine").innerHTML = "html_ss " + html_ss;
}
</script>
from django.utils.safestring import marksafe
def displayDict(request):
...
return render(request, 'chatStream.html',
{"html_sss": mark_safe(html_ss)})
Или вы можете использовать тег safe
в вашем шаблоне.
https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#std:templatefilter-safe