Django:将 JSON 从视图传递到模板

jsDjango

1个回答

写回答

勿忘草

2025-06-28 08:20

+ 关注

Django
Django

使用Django开发Web应用时,我们经常需要将数据从视图传递到模板中进行展示。其中,将JSON数据传递到模板是一种常见的需求。今天我们将学习如何使用Django实现这一功能。

首先,让我们来看一个简单的例子。假设我们有一个名为"books"的应用,其中包含一些图书的信息。我们希望将这些图书的JSON数据传递到模板中,并在页面上展示出来。

在视图中,我们可以使用Django的内置函数JSon.dumps()JSON数据转化为字符串。然后,通过将该字符串传递给模板的上下文,我们可以在模板中使用这些数据。

Python

from Django.shortcuts import render

import JSon

def book_list(request):

books = [

{"title": "Python编程入门", "author": "张三", "price": 39.99},

{"title": "JavaScript高级编程", "author": "李四", "price": 59.99},

{"title": "数据结构与算法", "author": "王五", "price": 49.99}

]

books_JSon = JSon.dumps(books)

return render(request, 'book_list.html', {'books_JSon': books_JSon})

在上述代码中,我们定义了一个book_list视图函数,该函数将包含图书信息的列表转化为JSON字符串,并将其作为上下文传递给模板。

接下来,我们需要在模板中进行相应的处理。首先,我们需要在模板中使用safe过滤器,以确保JSON字符串能够被正确解析。然后,我们可以使用JavaScript对象表示法(JSON)的特性,将JSON字符串转化为JavaScript对象,并对其进行遍历展示。

html

{% extends 'base.html' %}

{% block content %}

<h1>图书列表</h1>

<ul>

{% for book in books_JSon|safe %}

<li>

<strong>书名:</strong> {{ book.title }}<br>

<strong>作者:</strong> {{ book.author }}<br>

<strong>价格:</strong> {{ book.price }}

</li>

{% endfor %}

</ul>

{% endblock %}

在上述模板代码中,我们使用了for循环语句对每一本书进行遍历,并使用{{ book.title }}{{ book.author }}{{ book.price }}输出了相应的书名、作者和价格。

通过以上步骤,我们成功地将JSON数据从视图传递到模板,并在页面上展示出来。

我们在Django中将JSON从视图传递到模板的过程如下:首先,使用JSon.dumps()JSON数据转化为字符串;然后,在视图中将该字符串通过上下文传递给模板;最后,在模板中使用safe过滤器对JSON字符串进行解析,并进行相应的展示。

希望本文能够帮助你理解如何在Django中传递JSON数据到模板,并能够成功应用到你的项目中。如果你有任何疑问或困惑,请随时在下方留言,我将尽力解答。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号