在Flask中一次渲染多个模板

在Flask中一次渲染多个模板,第1张

在Flask中一次渲染多个模板

你可能会以错误的方式考虑布局。布局是模板中最通用的模板,而不是最复杂的模板。如果你只需要很少的独立功能,则按原样以及include在需要的地方编写它们。

也就是说,如果你想要这样的话:

----------------------------------       +--------------+  Header          |   Login      |       +--------------+----------------------------------  Body Content (Blog)

而且你还想要一个独立的登录页面,如下所示:

----------------------------------  Header----------------------------------  +--------------+  |   Login      |  +--------------+

然后include在需要的地方创建一个登录部分。


模板/部分/login.html

<form action="/login" method="post"><!-- Your login goes here --></form>

templates / your_base.html

<!DOCTYPE html><html><head>{% block head %}{# Default HEAD content goes here with extra nested blocks for children to override if needed. #}{% endblock head %}</head><body><header>{% block header %}{% endblock header %}</header>{# Note: This assumes we *always* want a header #}{% block content %}{% endblock content %}</body></html>

templates / login.html

{% extends "your_base.html" -%}{% block content -%}{% include "partials/login.html" %}{%- endblock content %}

templates / blog.html

{% extends "your_base.html" -%}{% block header -%}{{ super() }}{# Render the default header contents here #}{% include "partials/login.html" %}{%- endblock header %}{% block content -%}{# Render your blog posts here #}{%- endblock content %}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4934266.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存