我没有做很多网络开发,所以我在这个领域的知识非常基础。但是我必须使用python an flask编写一个简单的 Web 应用程序。
在这个应用程序中,我有一个简单的类,如下所示:
class Task(object):
def __init__(self, id, title):
super(Task, self).__init__()
self.id = id
self.title = title
可以假设id
是integer
并且title
是(unicode) string
。
在视图函数中,我想渲染一个传递 alist
的模板Task objects
,如下所示:
@app.route('/tasklist')
@login_required
def tasklist():
tasklist = [
Task(1, u"Task 1"),
Task(2, u"Task 2"),
Task(3, u"Task 3"),
Task(4, u"Task 4")
]
return render_template( "tasklist.html", tasklist=tasklist)
调用视图函数时,我收到以下错误消息:
TypeError: <models.Task object at 0x103861210> is not JSON serializable
当我在互联网上环顾四周时,我看到了许多示例,它们将对象列表传递给使用render_template
. 所以我想知道我错过了什么?我的对象只使用基本数据类型。我是否必须重载特定功能?
render_template
使用简单字符串列表(而不是类实例)调用可以正常工作。
我知道,这是一个非常基本的问题,但我目前还没有找到令人满意的答案。