使用JSON和Django

时间:2015-07-07 15:59:25

标签: json django django-models

我是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()

1 个答案:

答案 0 :(得分:1)

如果你有一个URL返回一个json作为响应,你可以试试这个:

import requests
import json

url = 'http://....'  # Your api url

response = requests.get(url)
json_response = response.json()

现在json_responselist,其中包含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方法。