我会做一个包含页眉和页脚的基本 html 模板,以及许多扩展基本模板的可重用模板,其中包含我需要的不同布局。我还将创建可重用的组件(图块、数据网格......)。
对于模板:
base.html
<!doctype HTML>
<html>
<head>
....
</head>
<body>
{% block content %}
</body>
</html>
3_columns.html
{% extends "project/base.html" %}
{% block content %}
<div class="line">
<div class="column">{% block col1 %}</div>
<div class="column">{% block col2 %}</div>
<div class="column">{% block col3 %}</div>
</div>
{% endblock %}
2_lines.html
{% extends "project/base.html" %}
{% block content %}
<div class="line">{% block line1 %}</div>
<div class="line">{% block line2 %}</div>
{% endblock %}
一个基本的自定义组件:
模板标签/custom.py
import django
from django.template.defaulttags import register
@register.inclusion_tag('components/custom.html')
def custom(params):
context = {
'a': params['a'],
'b': params['b']
}
return context
模板/组件/custom.html
<div class="custom">
<label>{{ a }}
<input name={{ b }}
</label>
</div>