Я не занимаюсь много веб-разработкой, поэтому мои знания в этой области довольно простые. Однако мне нужно написать простое веб-приложение, используя python a колба.render_template не может jsonify объект
В этом приложении у меня есть простой класс, который выглядит следующим образом:
class Task(object):
def __init__(self, id, title):
super(Task, self).__init__()
self.id = id
self.title = title
можно предположить, что id
является integer
и title
является (unicode) string
.
В функции зрения я хочу, чтобы сделать шаблон пропускания list
из 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
Когда я оглядываюсь на interwebs, я вижу много примеров, где они передают списки объектов в представления, используя render_template
. Поэтому мне интересно, чего мне не хватает? В моем объекте используются только базовые типы данных. Должен ли я перегружать определенную функцию?
Вызов render_template
со списком простых строк (вместо экземпляров класса) отлично работает.
Я знаю, это очень простой вопрос, но на данный момент я не нашел удовлетворительного ответа.
Слишком легко! Большое спасибо. Я думал, что преобразование выполняется неявно, потому что я видел его во многих примерах (но, возможно, это было сделано другим модулем). Однако это решение работает отлично для меня! – cyphorious