如何将json字典从javascript.get传递到django模板?
在django模板的头部,我当前有:如何将json字典从javascript.get传递到django模板?,javascript,json,django,Javascript,Json,Django,在django模板的头部,我当前有: <script> $.get('get_students/', function (dict) { alert(dict) }) </script> 是否可以将dict从script标记“转义”到普通的Django模板中,这样我就可以使用如下内容对其进行迭代: {% for d in dict%} <p>d.username</p> {% endfor %} {% for
<script>
$.get('get_students/', function (dict) {
alert(dict)
})
</script>
是否可以将dict从script标记“转义”到普通的Django模板中,这样我就可以使用如下内容对其进行迭代:
{% for d in dict%}
<p>d.username</p>
{% endfor %}
{% for d in contextDictionary %}
<p>d.username</p>
{% endfor %}
{%d在dict%}
d、 用户名
{%endfor%}
如果有更明智的方法,请推荐给我,我还在学习。请注意,我在一个组件中工作,我必须从中调用视图,这就是我使用js get的原因
谢谢 虽然它没有直接回答这个问题,但这不能通过使用该方法将数据传递到视图中,然后在其上循环来完成吗 所以你的观点是这样的:
class ExampleDetailView(DetailView):
model = Student
def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
context = super().get_context_data(**kwargs)
# Add in a QuerySet of all the books
context['contextDictionary'] = get_students()
return context
然后在模板中有如下内容:
{% for d in dict%}
<p>d.username</p>
{% endfor %}
{% for d in contextDictionary %}
<p>d.username</p>
{% endfor %}
{%d在contextDictionary%}
d、 用户名
{%endfor%}
因此答案是使用JQuery。在脚本标记内,我迭代字典值,并使用js字符串将它们附加到innerHTML。因此,上面的.get必须变成:
{% for d in dict%}
<p>d.username</p>
{% endfor %}
{% for d in contextDictionary %}
<p>d.username</p>
{% endfor %}
$.get('get_students/',函数(数据){
var write_to_div=document.getElementById(“studentDiv”);
for(数据中的var d){
值=数据[d]
将_写入_div.innerHTML++=“”+value['first_name']+“”
}
})
MyURL包含“url(r'^get\u students/,get\u students)”,我如何引用此视图?我不介意我们怎么做,只要我能按你说的方式访问它,而不用指定新模板。你能详细说明怎么做吗,我不是很熟悉。。。我有一个学生模型,而不是发布者模型,我也不知道如何使用get从我的HTML模板调用该视图…在我发布的代码中,您不会从get请求调用该代码。您可以直接通过视图将其传递到模板中。你能把你的视图和模型添加到模板中吗?我不这么认为。我在我的主页上使用了wagtail块组件,因此主页已设置,我无法更改它在url中调用的视图,即url(r“”,include('django.contrib.auth.url'))(除非一个url可以调用两个视图?)。所以我想我必须从模板本身调用另一个视图。