传递Python请求(在Django中视图.py)Json数据到Javascrip

2024-05-20 17:09:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个python代码,它获取json并解析它:

from django.http import HttpResponse
import json, requests

def find(request):
    context = {}
    platformUrl = 'https://www.igdb.com/api/v1/platforms'
    platformReq = requests.get(platformUrl, headers={'Authorization': 'Token token="1234"'})
    platformData = json.loads(platformReq.text)
    platformList = platformData['platforms']
    print platformList

它通过print语句输出:

[{u'slug': u'saturn', u'id': 32, u'name': u'Sega Saturn'}, {u'slug': u'mac', u'id': 14, u'name': u'Mac'}, {u'slug': u'vc', u'id': 47, u'name': u'Virtual Console (Nintendo)'}

我希望将数据传递给javascript,并将json中的ID和名称放入javascript中。(选择.js)这可能需要某种类型的for循环,可以是javascript,甚至djangos?公司名称:

^{pr2}$

谢谢

编辑: 通过@satoru的链接,我查看了一下,并将代码更新为:

    from django.http import HttpResponse
import json, requests

def find(request):
    context = {}
    platformUrl = 'https://www.igdb.com/api/v1/platforms'
    platformReq = requests.get(platformUrl, headers={'Authorization': 'Token token="1234"'})
    platformList = json.dumps(platformData)

    print platformList
    return render_to_response('find.html',{'platformList':platformList})

它现在输出:

{"platforms": [{"slug": "saturn", "id": 32, "name": "Sega Saturn"}, {"slug": "mac", "id": 14, "name": "Mac"}, {"slug": "vc", "id": 47, "name": "Virtual Console (Nintendo)"}

那么我如何将其传递到javascript中呢?在


Tags: 代码nameimportidjsonfindjavascriptrequests
2条回答

查看这个template library将您的平台列表从模板中转换为JSON对象

示例(在模板中):

    <script src="your_standalone_js.js">
    <script>
        var js_variable = {{platformList | jsonify }};
        function_in_standalone_js(js_variable);
    </script>

你的游戏机单机版_js.js公司公司名称:

^{pr2}$

如果API已经返回一个JSON编码的响应,您可以使用platformReq.text。将其传递给render_to_response之后,您就可以访问模板中JSON编码的字符串了。在

现在,您可以将Javascript模块设计为可配置对象,例如:

<script src="my_module.js"></script>
<script>
   MyModule.initialize({{ json_encoded }})
</script>

相关问题 更多 >