2
我創建了一個應該支持獨立渲染和ajax渲染的jinja2模板。 模板的樣子:將jinja2塊渲染爲json
{% if is_ajax %}{% extends 'ajax.html' %}{% else %}{% extends 'site.html' %}{% endif %}
{% block title %}The Title{% endblock %}
{% block body %}The body{% endblock %}
site.html工作正常,但我沒能創造ajax.html將呈現標題和正文塊作爲JSON。我試過類似的東西:
{
"copy":"{% block body %}Default Body{% endblock %}",
"title":"{% block title %}Default Title{% endblock %}",
}
但是,這當然不會將塊轉換爲json。
我也嘗試過使用Template.blocks來創建使用python的json,但是這種方法需要每個塊的手動渲染,這並不像是正確的方式。
這可能嗎?
我不會使用模板來生成JSON,而不是當'json'模塊會做得更好時,它也會更好地處理引用。 –
我同意,也試過這個,但這意味着我不得不手動渲染這些塊,並且實際上重新實現了一部分忍者。它的工作原理,但必須有更好的方法。 – Tzach