gpt4 book ai didi

Django:覆盖和扩展应用程序模板

转载 作者:行者123 更新时间:2023-11-28 19:34:54 25 4
gpt4 key购买 nike

如果您想覆盖 django 中应用程序附带的模板(在 app/templates/app/中),您可以在另一个目录中创建一个同名模板,模板加载器会在应用程序的模板目录之前检查该模板。如果您只想覆盖模板的某些 block ,您还必须复制整个模板并更改该 block ,这实际上不是很 DRY。

有没有人知道一种方法来覆盖原始模板,同时扩展它,以便您只需要覆盖您想要更改的特定 block ? (事情是在不更改模板名称的情况下执行此操作,因为在某些情况下,您可能必须更改 View 以使其与另一个模板一起使用)

编辑:正如 Adam Taylor 在 Django 1.9 on 的评论中指出的那样这是可能的,没有任何黑客攻击。

最佳答案

我想答案来自this related question是相关的;目前,最好的解决方案似乎是使用来自 django-apptemplates package on PyPI 的自定义模板加载器。 , 所以你可以只使用 pip安装它(例如 pip install django-apptemplates)。

模板加载器允许您在特定应用程序中扩展模板;例如,要扩展管理界面的索引页,您可以添加

'apptemplates.Loader',

settings.py 中的 TEMPLATE_LOADERS 列表,并使用

{% extends "admin:admin/index.html" %}

在您的模板中。

关于Django:覆盖和扩展应用程序模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3967801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com