【问题标题】:Django admin custom template tagDjango admin 自定义模板标签
【发布时间】:2012-03-15 15:32:29
【问题描述】:

我尝试自定义我的管理面板。我已将change_list.html 复制到正确的子文件夹templates -> admin -> model -> change_list.html

虽然我自定义了change_list.html,但我想使用一个模板标签,但我不确定我应该将我的自定义模板标签库放在哪里。

当我将它放在django/contrib/admin/templatetags/ 下时,它可以正常工作,但我想将它保留在我自己的项目树中。

你有什么想法吗?

注意:我还在change_list.html 中加载了我的模板标签

{% load adminmedia admin_list i18n grp_tags myproject_tags %}

谢谢

【问题讨论】:

    标签: django django-admin django-templates


    【解决方案1】:

    不要不要修改或添加任何东西到包含 Django 的目录(不要修改 Django!)。将所有内容保存在您的项目目录中(例如在the manual 中)。

    管理员模板与非管理员模板完全相同,您使用自定义模板标签的方式也完全相同。将您的模板标签放在yourapp/templatetags/ 目录中。如果您的应用位于settings.INSTALLED_APPS 中,您可以通过将模块名称传递给load 标签来加载它的标签。它还接受package.module 语法,所以:{% load somelibrary %} 或{% load package.otherlibrary %}

    【讨论】:

    • 换句话说,只需将模板标签放在 your 应用程序之一的“templatetags”模块中,就像其他模板标签一样。您可以将它们加载到管理员中,就像它是您自己的模板一样。它的工作方式相同。
    • 如何在管理页面添加自定义标签?我需要创建自定义模板来扩展 Admin?
    猜你喜欢
    • 2012-03-05
    • 2021-07-13
    • 2015-01-20
    • 2011-09-16
    • 2015-12-17
    • 2011-03-31
    • 2011-10-05
    • 1970-01-01
    相关资源
    最近更新 更多