私は Web 開発をあまり行っていないので、この分野に関する私の知識はかなり基本的なものです。ただし、 pythonとフラスコを使用して単純な Web アプリケーションを作成する必要があります。
このアプリケーションには、次のような単純なクラスがあります。
class Task(object):
def __init__(self, id, title):
super(Task, self).__init__()
self.id = id
self.title = title
は でありid
、 であるinteger
と想定できます。title
(unicode) string
ビュー関数では、次のようにlist
ofを渡すテンプレートをレンダリングします。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
(クラス インスタンスではなく) 単純な文字列のリストを使用して呼び出すと、問題なく動作します。
これは非常に基本的な質問ですが、今のところ満足のいく答えは見つかりませんでした。