django form data如何传递到template的vue

发布时间 2023-06-09 16:27:23作者: 花生与酒

参考:

https://docs.djangoproject.com/en/4.2/ref/templates/builtins/#json-script

afely outputs a Python object as JSON, wrapped in a <script> tag, ready for use with JavaScript.

Argument: The optional HTML “id” of the <script> tag.

For example:

{{ value|json_script:"hello-data" }}

If value is the dictionary {'hello': 'world'}, the output will be:

<script id="hello-data" type="application/json">{"hello": "world"}</script>

The resulting data can be accessed in JavaScript like this:

const value = JSON.parse(document.getElementById('hello-data').textContent);

XSS attacks are mitigated by escaping the characters “<”, “>” and “&”. For example if value is {'hello': 'world</script>&amp;'}, the output is:

<script id="hello-data" type="application/json">{"hello": "world\\u003C/script\\u003E\\u0026amp;"}</script>