这是我的代码:
from flask import Flask, render_template
from post import Post
import requests
posts = requests.get("https://api.npoint.io/5abcca6f4e39b4955965").json()
post_objects = []
for post in posts:
post_obj = Post(post['id'], post["title"], post["subtitle"], post["body"])
post_objects.append(post_obj) ~~~~^^^^^^
它有以下错误:
TypeError: string indices must be integers, not 'str'
错误在于正尝试使用字符串(例如 "id")作为索引访问
post
字典中的项,而字典索引必须是整数。看起来应该使用
post['id']
而不是
post[id]
等等。
以下是更正后的代码:
from flask import Flask, render_template
from post import Post
import requests
posts = requests.get("https://api.npoint.io/5abcca6f4e39b4955965").json()
post_objects = []
for post in posts:
post_obj = Post(post['id'], post["title"], post["subtitle"], post["body"])
post_objects.append(post_obj)
通过将
id
,
title
,
subtitle
和
body
括在引号中,就可以正确地访问
post
字典中的相应值了。