0

I want to put an html in a string, NOT a file, like:

t = """
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>foo</title>
</head>

<body>
 {{ script|safe }}
</body>
</html>

"""

script = ...
render_template_string(t, script=script)

However when I go to the actual webpage, I don't see an html page with a script, I see garbage:

"\n<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\">\n <title>foo</title>\n</head>\n\n<body>\n \n<script\n src=\"http://localhost:5006/bkapp/autoload.js?bokeh-autoload-element=ff639949-97c5-40b8-9cc2-28b78be802d1&bokeh-app-path=/bkapp&bokeh-absolute-url=http://localhost:5006/bkapp\"\n id=\"ff639949-97c5-40b8-9cc2-28b78be802d1\"\n data-bokeh-model-id=\"\"\n data-bokeh-doc-id=\"\"\n></script>\n</body>\n</html>"

How do I fix this?

EDIT: even a very simple

t = '{{ script|safe }}'

does not work, I get, in the browser:

"\n<script\n    src=\"http://localhost:5006/bkapp/autoload.js?bokeh-autoload-element=07a43696-66af-4e54-a4e3-9a09ac242e38&bokeh-app-path=/bkapp&bokeh-absolute-url=http://localhost:5006/bkapp\"\n    id=\"07a43696-66af-4e54-a4e3-9a09ac242e38\"\n    data-bokeh-model-id=\"\"\n    data-bokeh-doc-id=\"\"\n></script>"

EDIT 2: I have also tried

t = '{% autoescape false %}{{ script|safe }}{% endautoescape %}'

but that didn't work either.

I'm using Connexion if that matters.

Tommy
  • 12,588
  • 14
  • 59
  • 110

0 Answers0