所以我对整个Web开发几乎全新,但是已经被投入到使用Django从Web服务中提取和解析数据的侧面项目中,并且正在努力理解事情是如何工作的,即使在查看Django时也是如此.文档.
在Django中,我已经完成了所有设置并在基本级别工作(使用模板,显示的页面显示“Hello World”).
现在,为了从webservice中提取数据,我需要向以下格式的URL发出请求:
http://wbsapi.withings.net/[service_name]?action=[action_name]&[parameters]
在提供的PHP示例中,他们使用cURL,然后使用json_decode执行此操作.
我如何才能从Django中获得类似的功能?提前致谢!
解决方法
您将使用urllib2和json标准模块(或者,优秀的库
requests和json):
import urllib2 import json url = 'http://wbsapi.withings.net/[service_name]?action=[action_name]&[parameters]' serialized_data = urllib2.urlopen(url).read() data = json.loads(serialized_data)
如果你想在一个页面上,你需要它在view,你需要associate with an url.
你的urls.py将包含类似的内容
from django.conf.urls import patterns,url,include urlpatterns = patterns('',(r'^get_data/$','myapp.views.get_data'),)
你的myapp / views.py将包含类似的内容
from django.http import HttpResponse import urllib2 import json def get_data(request): url = 'http://wbsapi.withings.net/[service_name]?action=[action_name]&[parameters]' serialized_data = urllib2.urlopen(url).read() data = json.loads(serialized_data) html = "<html><body><pre>Data: %s.</pre></body></html>" % json.dumps(data,indent=2) return HttpResponse(html)
当然,我不知道你希望如何显示你的数据,所以我再次序列化了:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。