如何将dict of dict从Django发送到javascript
我想将数据从Django发送到JavaScript,这样我就可以在JS+Vue中编写所有逻辑并保持html干净 在Django我有如何将dict of dict从Django发送到javascript,javascript,html,django,vue.js,Javascript,Html,Django,Vue.js,我想将数据从Django发送到JavaScript,这样我就可以在JS+Vue中编写所有逻辑并保持html干净 在Django我有 context={'names':{'fn':'john','ln':'cena'}} return render(request,'app/page1.html',context) 在page1.html模板中,我有 <script type="text/javascript"> var names="{{names}}"; </script&
context={'names':{'fn':'john','ln':'cena'}}
return render(request,'app/page1.html',context)
在page1.html
模板中,我有
<script type="text/javascript"> var names="{{names}}"; </script>
var names=“{{names}}”;
在javascript中,如何访问names.fn
&names.ln
我还有两个相关问题:
{%if x>y%}
保存在模板中更好,还是将逻辑部分移动到JS+Vue并将数据结构保留在模板中就可以了。我这样问是因为当我在浏览器窗口中检查页面源代码时,我可以看到整个JS代码,但我看不到html中Django条件语句中的任何内容:{%if x>y%}--这在浏览器中是不可见的--{%endif%}
var names = JSON.parse(document.getElementById('names').textContent);
或者,安装;然后,你可以直接说
{% load jsonify %}
<script type="text/javascript"> var names={{names|jsonify}}; </script>
{%load jsonify%}
var names={{names | jsonify}};
至于你的第二个问题:Vue所做的一切(或棱角分明的、反应激烈的、吸引人的或击倒人的……)都是客户端,Django所做的一切都是服务器端。如果您正在构建一个单页应用程序,那么您应该尽可能多地使用Vue(或Angular或React或Ractive或Knockout…);如果不是,则可能不需要这样的框架。有:
然后,在JS中:
var names = JSON.parse(document.getElementById('names').textContent);
或者,安装;然后,你可以直接说
{% load jsonify %}
<script type="text/javascript"> var names={{names|jsonify}}; </script>
{%load jsonify%}
var names={{names | jsonify}};
至于你的第二个问题:Vue所做的一切(或棱角分明的、反应激烈的、吸引人的或击倒人的……)都是客户端,Django所做的一切都是服务器端。如果您正在构建一个单页应用程序,那么您应该尽可能多地使用Vue(或Angular或React或Ractive或Knockout…);如果您不是,那么您可能不需要这样的框架。
pip install django jsonify
而不是pip install jsonify
pip install django jsonify
而不是pip install jsonify
。