Goodreads网站有这个API,用于访问用户的"货架:"https://www.goodreads.com/review/list/20990068.xml?key=nGvCqaQ6tn9w4HNpW8kquw&v=2&shelf=toread

它返回XML.我正在try 创建一个Django项目,通过此API在书架上显示书籍.我正在寻找如何(或者是否有比这更好的方式)编写我的视图,以便我可以将对象传递给我的模板.目前,我是这样做的:

import urllib2

def homepage(request):
    file = urllib2.urlopen('https://www.goodreads.com/review/list/20990068.xml?key=nGvCqaQ6tn9w4HNpW8kquw&v=2&shelf=toread')
    data = file.read()
    file.close()
    dom = parseString(data)

如果我做得正确,我不完全确定如何操纵这个物体.我在关注这个tutorial.

推荐答案

我将使用xmltodictXML数据 struct 中创建一个python字典,并将此字典传递给上下文中的模板:

import urllib2
import xmltodict

def homepage(request):
    file = urllib2.urlopen('https://www.goodreads.com/review/list/20990068.xml?key=nGvCqaQ6tn9w4HNpW8kquw&v=2&shelf=toread')
    data = file.read()
    file.close()

    data = xmltodict.parse(data)
    return render_to_response('my_template.html', {'data': data})

Django相关问答推荐

如何在Django REST框架中使用FactoryBoy创建不同的项目

如何在Django模板中为无效词典查找打开异常?

UpdateView 不会对 from 属性进行数据绑定

dj_rest_auth 中的 PyTest 警告- RemovedInDjango40Warning: django.conf.urls.url() 已弃用,取而代之的是 django.urls.re_path()

在 Django 4.1 中提交表单之前显示数据

如何将多个模型添加到单个列表视图?

lower() 在 None 上被调用

如果一个应用程序有多个具有相同字段的模型,那么保持 DRY 的最佳实践是什么?

Django Query 在基于通用类的 UpdateView 中重复了 2 次

在 settings.py 中指定 Django 测试数据库名称

在 PyCharm 中运行 Django 测试

使用基于类的 UpdateView 在 Django 中更新用户模型

将 **kwargs 传递给 Django 表单

如何从 json 模式创建表单?

模型中的外键

Django - 如何从模型中 Select 特定列?

Django admin:我可以定义字段顺序吗?

如何使用 select_for_update 在 Django 中获取查询?

在 Django 中使用 AuthenticationForm

如何从 Django 的 TabularInline 管理视图中省略对象名称?