我正在嘗試學習如何在 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']
uj5u.com熱心網友回復:
在 iPad 上因此無法檢查,但我懷疑您的 'i' 是一個字串,需要先轉換為 Python 物件/字典,然后才能從中提取子元素。
查看模塊中的json.loads方法json。
uj5u.com熱心網友回復:
你的“i”是一個字串的形式。您需要先將其轉換為物件。使用i = json.loads(i)
uj5u.com熱心網友回復:
回圈字典會回圈它的鍵,而不是它的值。你要:
for i in data.values():
uj5u.com熱心網友回復:
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 = data['result'][i]['altname']
)
kraken_data.save()
all_krakens = Kraken.objects.all().order_by('-id')
return render (request, 'krakens/kraken.html', { "all_krakens":
all_krakens} )
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/351584.html
上一篇:注銷重定向url找不到視圖
下一篇:如何計算Django中的模型物件
