我正在研究一个Django项目。在我的一个应用程序中,我想将视图文件中的数值数据数组传递给模板。然后我想访问所述数据,以便我能够在JavaScript中操作它。
我可以通过渲染功能将数组成功发送到模板作为crispy标签。不幸的是,我只能在HTML本身内访问所述标记,但不能在JavaScript中访问。
views.朋友:
from django.shortcuts import render
sample_data = [1,2,3]
def home(request):
data = {
'message': sample_data
}
return render(request, 'blog/home.html', data)
home.html的:
{% extends "blog/base.html" %}
{% block content %}
<body>
{{ message|safe }} <!-- can access crispy tag within HTML-->
<script>
var x = {{ message|safe }}; // can not access crispytag within javascript
</script>
</body>
{% endblock content %}
我希望能够访问模板JavaScript中的crispy标签数组。我需要更改才能执行此操作?
我想你需要添加引号来访问javascript中的django模板标签
{% extends "blog/base.html" %}
{% block content %}
<body>
{{ message|safe }} <!-- can access crispy tag within HTML-->
<script>
var x = "{{ message|safe }}" // can not access crispytag within javascript
</script>
</body>
{% endblock content %}
希望能帮助到你