首页 > 解决方案 > 在 Django 中,为什么错误“TypeError at / string indices must be integers”?

问题描述

我正在尝试学习如何在 Django 中保存来自 kraken api 的 json 内容的一部分。通过stackoverflow上的几个例子我想出了这个代码:

视图.py

from django.shortcuts import render
from meal_app.models import Kraken
import requests

def get_krakens(request):
    all_krakens = {}
    url ='https://api.kraken.com/0/public/Assets' 
    response = requests.get(url)
    data = response.json()

    
    for i in data:
        kraken_data = Kraken(
            name = i['altname']
            )
        kraken_data.save()
        all_krakens = Kraken.objects.all().order_by('-id')

    return render (request, 'krakens/kraken.html', { "all_krakens": 
    all_krakens} )

当我尝试运行时,它出现: 在此处输入图像描述

我该如何解决这个错误?我的 json 在我的控制台中可见,但我无法访问值“altname”。您的帮助将不胜感激。

/Users/davidmoreira/Documents/crypto/djangokrakenapi/meal_project/meal_app/views.py, line 14, in get_krakens
            name = i['altname']

标签: pythondjangoapi

解决方案


您的“i”是字符串的形式。您需要先将其转换为对象。使用i = json.loads(i)


推荐阅读