如您在评论中所说,要创建一个可插入的应用程序,您可以在您的应用程序中创建一个模板目录。例如app/templates
,除了您的 template_dir 设置中的目录之外。
在模板中使用扩展来继承可能因站点而异的基本 html 文件。
在呈现表格的模板中
table.html
{% extends "base.html" %}
{% block content %}
{% include "cleantable.html" %}
{% endblock %}
base.html
<html>
project specific CSS
project specific JS
<body>
{% block content %}
{% endblock %}
</body>
</html>
所以实际上你的项目结构如下
project
|
|---pluggable
| |
| |--templates
| | |
| | |---cleantable.html
| | |
| | |---table.html
| |
| |--views.py <renders pluggable templates>
|
|---templates<site specific templates>
| |
| |---base.html<site specific design>
|
|---<other apps>