Django:覆盖和扩展应用模板
如果要覆盖django中应用程序随附的模板(在app / templates / app /中),请在另一个目录中创建相同名称的模板,模板加载器会在应用程序的模板目录之前检查该模板。如果您只想覆盖模板的某些块,则还必须复制整个模板广告,更改该块,这实际上不是很干。
有人知道一种方法来覆盖原始模板,同时扩展它,以便您只需要覆盖要更改的特定块吗?(这样做是在不更改模板名称的情况下进行的,因为在某些情况下,您可能必须更改视图才能使其与其他模板一起使用)
回答:
我认为这个相关问题的答案是恰当的。当前,最好的解决方案似乎是使用PyPI上django-apptemplates包中的自定义模板加载器,因此你可以使用pip进行安装(例如pip install django-apptemplates
)。
模板加载器允许你在特定应用中扩展模板;例如,要扩展管理界面的索引页,你可以添加
'apptemplates.Loader',
到中的TEMPLATE_LOADERS
列表settings.py
,然后使用
{% extends "admin:admin/index.html" %}
以上是 Django:覆盖和扩展应用模板 的全部内容, 来源链接: utcz.com/qa/407939.html