我是Python和Django的新手。我是一名IT专业人员,负责部署监控计算机的软件。 api输出到JSON。我想创建一个Django应用程序,它读取api并将数据输出到html页面。我从哪里开始?我认为这个想法是将JSON提要写入Django模型。非常感谢任何帮助/建议。
这是一个简单的单个文件来提取JSON数据:
import urllib2
import json
def printResults(data):
theJSON = json.loads(data)
for i in theJSON[""]
def main():
urlData = ""
webUrl = urllib2.urlopen(urlData)
if (webUrl.getcode() == 200):
data = webUrl.read()
printResults(data)
else:
print "Received error"
if __name__ == '__main__':
main()
答案 0 :(得分:1)
如果你有一个URL返回一个json作为响应,你可以试试这个:
import requests
import json
url = 'http://....' # Your api url
response = requests.get(url)
json_response = response.json()
现在json_response
是list
,其中包含dicts
。我们假设您有这种结构:
[
{
'code': ABC,
'avg': 14.5,
'max': 30
},
{
'code': XYZ,
'avg': 11.6,
'max': 21
},
...
]
您可以遍历列表并将每个字典转换为模型。
from yourmodels import CurrentModel
...
for obj in json_response:
cm = CurrentModel()
cm.avg = obj['avg']
cm.max = obj['max']
cm.code = obj['code']
cm.save()
或者您可以使用bulk method,但请注意 bulk_create
不会触发save
方法。