Sid*_*aRT 13 templates render flask
我正在制作Flask应用程序.我有一个登录区,一个博客区.如果我想获得用户的登录,我将呈现登录模板.但这不会使博客模板必须显示在登录区域下方.:/
我会尽量让它更清楚:
{% block login %} {% endblock %}
blah blah
{% block blog_display %} {% endblock %}
Run Code Online (Sandbox Code Playgroud)
现在我有一个login.html扩展它,并进入登录块.我有一个blogs.html进入blog_display.如何渲染两者?当我这样做render_template(),我可以把它叫做只的一个login.html或blogs.html.
请帮帮我.如果你要求,我会提供更多细节.
Sea*_*ira 25
您可能会错误地考虑布局.您的布局是模板中最通用的,而不是最复杂的模板.如果您需要很少的自包含功能,那么就可以按原样编写它们并将include它们放在需要它们的位置.
也就是说,如果你想要这样的东西:
----------------------------------
+--------------+
Header | Login |
+--------------+
----------------------------------
Body Content (Blog)
Run Code Online (Sandbox Code Playgroud)
而且您还希望拥有一个这样的独立登录页面:
----------------------------------
Header
----------------------------------
+--------------+
| Login |
+--------------+
Run Code Online (Sandbox Code Playgroud)
然后创建一个登录部分,include并在您需要的地方.
模板/分音/的login.html
<form action="/login" method="post">
<!-- Your login goes here -->
</form>
Run Code Online (Sandbox Code Playgroud)
模板/ 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>
Run Code Online (Sandbox Code Playgroud)
模板/ login.html的
{% extends "your_base.html" -%}
{% block content -%}
{% include "partials/login.html" %}
{%- endblock content %}
Run Code Online (Sandbox Code Playgroud)
模板/ 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 %}
Run Code Online (Sandbox Code Playgroud)
Sean的答案很好,但是如果你不想扩展块,你可以选择一个更简单的解决方案,我更喜欢.
{% include "partials/login.html" %}
Run Code Online (Sandbox Code Playgroud)
只需在任何需要包含模板的地方使用它
| 归档时间: |
|
| 查看次数: |
12709 次 |
| 最近记录: |