我有两个文件:Jinja2的正确缩进包括的块
base.html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{{title}}</title>
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
register.html
{% extends "base.html" %}
{% block content %}
<h1>Register</h1>
<form action="" method="post" name="register">
{{ form.hidden_tag() }}
{{ form.login.label }} {{ form.login(size=20) }}
{{ form.password.label }} {{ form.password(size=20) }}
<input type="submit" value="Register">
</form>
{% endblock %}
它得到呈现:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Register</title>
</head>
<body>
<h1>Register</h1>
<form action="" method="post" name="register">
<div style="display:none;"><input id="csrf_token" name="csrf_token" type="hidden" value="1393257771.168161##ce877b3519f192c05d3b409f3b7b07bb147dead7"></div>
<label for="login">login</label> <input id="login" name="login" size="20" type="text" value="">
<label for="password">password</label> <input id="password" name="password" size="20" type="password" value="">
<input type="submit" value="Register">
</form>
</body>
</html>
我想实现这一点:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Register</title>
</head>
<body>
<h1>Register</h1>
<form action="" method="post" name="register">
<div style="display:none;"><input id="csrf_token" name="csrf_token" type="hidden" value="1393257771.168161##ce877b3519f192c05d3b409f3b7b07bb147dead7"></div>
<label for="login">login</label> <input id="login" name="login" size="20" type="text" value="">
<label for="password">password</label> <input id="password" name="password" size="20" type="password" value="">
<input type="submit" value="Register">
</form>
</body>
</html>
我缺少的东西?我试过谷歌和模板缩进,也似乎在这里适用indent
过滤器。我不想在内部块中对缩进进行硬编码,因为如果我稍后决定更改基本格式和元素,就会中断缩进。
如果缩进使用8个空格的register.html,你会得到想要的结果。 – voscausa
@voscausa - 这正是我想要避免的。 'base.html'中的缩进可能会改变。我不想每次重新缩进register.html。 – Fenikso