Skip to main content
 首页 » 编程设计

python之jinja2:默认布局

2025年05月04日14mate10pro

假设这是我的代码:

from jinja2 import Environment, PackageLoader 
 
def render(path, **kwargs): 
  env = Environment() 
  env.loader = PackageLoader('lemma.app.views', '') 
  template = env.get_template(path) 
 
  return str(template.render(**kwargs)) 

这是我的模板:

{% extends "layouts/application.html" %} 
 
{% block content %} 
  bla 
{% endblock %} 

有没有办法在我的代码中设置布局,而不是在我的模板中,或者我应该像白痴一样在每个模板中编写 {% extends "layouts/application.html"%}?

请您参考如下方法:

您可以在子模板的扩展中使用变量:{% extends layout %}。 这使得更改基本/布局模板变得容易,并且可以选择另一个基本/布局模板。我使用扩展变量是因为对于同一个 child 的不同布局模板。子模板是网页的一部分或 fancybox iframe 的一部分。