Временное добавление атрибутов в документы mongoengine

Я использую Flask с mongoengine и пытаюсь передать один дополнительный атрибут шаблону jinja, которого нет в определении модели.

Что-то вроде, models.py:

class Report(Document):

    date_created = DateTimeField(default=datetime.utcnow())

А затем в report.py:

...

report = models.Report.objects(id=report_id).first()
report.new_attr = "New"

resp = render_template(('report.html'), report=report)

return resp

...

Я хочу иметь возможность использовать {{ new_attr }} в шаблоне, но не .save() в объекте. Пока новый атрибут не отображается в объекте даже при печати.


person Iluvatar14    schedule 08.04.2016    source источник


Ответы (1)


Это должно сработать, но зачем это делать? Почему бы не отправить значение непосредственно в шаблон как отдельную переменную?

 resp = render_template(('report.html') ,new_attr = "New", report=report)
person Daniel Roseman    schedule 08.04.2016