覆盖 Django Material Admin 模板并将其保存在项目文件夹中

     2023-02-24     185

关键词:

【中文标题】覆盖 Django Material Admin 模板并将其保存在项目文件夹中【英文标题】:Overwrite a Django Material Admin template and keep it inside Project Folder 【发布时间】:2021-10-22 00:51:17 【问题描述】:

我正在使用 Django Material Admin 框架。我想覆盖一个模板(例如:clearable_file_input.html)并将覆盖的模板放在项目文件夹中,以便在运行项目时获取模板的更新功能。 我需要将更新后的模板放在项目中的什么位置? 为了自动获取更新的模板而不是原始模板,我需要做哪些更改(如果有类似更新 settings.py 文件)?

示例场景:我想更新单击(TabularInline 模型的)链接时打开链接的功能。单击该链接时,我想在另一个选项卡中打开该链接。所以,我知道我需要更新 clearable_file_input.html 并且我成功地更新了它。现在我需要弄清楚我需要将此文件放在我的项目中的哪个位置以获取更新的功能。 我不想更新路径中存在的原始模板:“./local/lib/python3.7/site-packages/material/admin/templates/admin/widgets/clearable_file_input.html” 我想将更新后的模板放在项目中,以便在运行项目时采用更新后的模板,而不是先前指定路径中存在的原始模板。

我需要做什么才能使此功能正常工作?

【问题讨论】:

【参考方案1】:

您需要按照here 的回答覆盖模板,但在我的情况下,我必须另外执行三个步骤,即使用 TemplateSettings 渲染器而不是默认渲染器。

Step1:你需要在你的 django 的 settings.py 中添加下面这行

FORM_RENDERER = 'django.forms.renderers.TemplatesSetting'

第 2 步:将以下内容添加到 TEMPLATES 配置中的 DIRS 列表中

django.__path__[0] + '/forms/templates'

Step3:在您安装的应用中添加'django.forms'

这样就可以了!

【讨论】:

覆盖 Django admin 中的注销链接

】覆盖Djangoadmin中的注销链接【英文标题】:OverridingthelogoutlinkinDjangoadmin【发布时间】:2017-11-2700:42:39【问题描述】:有没有办法覆盖Django管理页面上的logout链接?我正在尝试在用户注销时删除cookie。【问题讨论】:【参考方案1... 查看详情

在 Django admin 中覆盖表单

】在Djangoadmin中覆盖表单【英文标题】:OverrideaforminDjangoadmin【发布时间】:2012-04-1921:24:22【问题描述】:在Django管理中,我想为模型(例如发票模型)覆盖并实现我自己的表单。我希望发票表单具有客户名称、产品名称的自动... 查看详情

覆盖 django admin List_Filter 模板

】覆盖djangoadminList_Filter模板【英文标题】:OveridedjangoadminListFiltertemplates【发布时间】:2015-03-1622:46:12【问题描述】:我想基于此覆盖默认的django管理过滤器模板以使用我自己的模板:https://github.com/feincms/feincms/blob/master/feincms/tem... 查看详情

覆盖 Django admin 中的默认查询集

】覆盖Djangoadmin中的默认查询集【英文标题】:OverridedefaultquerysetinDjangoadmin【发布时间】:2012-09-0311:05:13【问题描述】:我的一个模型有一个已删除标志,用于全局隐藏对象:classNondeletedManager(models.Manager):"""Returnsonlyobjectswhichhaven... 查看详情

Django Admin 覆盖显示的字段值

】DjangoAdmin覆盖显示的字段值【英文标题】:DjangoAdminoverridedisplayedfieldvalue【发布时间】:2017-06-0718:37:47【问题描述】:我有以下型号:classModel(models.Model):creator=models.ForeignKey(User,related_name=\'com_creator\',on_delete=models.SET_NULL,blank 查看详情

django 内联覆盖保存

】django内联覆盖保存【英文标题】:djangoinlinesoverridesave【发布时间】:2015-08-0123:54:26【问题描述】:所以我有一个包含许多问题的测试模型。我在TestAdmin中将它们显示为内联。classQuestionInline(admin.TabularInline):model=QuestionclassTestAdmi... 查看详情

每个模型覆盖 django admin change_list_results.html

】每个模型覆盖djangoadminchange_list_results.html【英文标题】:overridedjangoadminchange_list_results.htmlpermodel【发布时间】:2013-08-1411:56:03【问题描述】:我正在尝试仅针对特定型号覆盖change_list_results.html。我尝试将文件与相应树目录(temp... 查看详情

django admin - 覆盖单条目模型的 changelist_view

】djangoadmin-覆盖单条目模型的changelist_view【英文标题】:djangoadmin-overridingchangelist_viewforsingleentrymodels【发布时间】:2013-05-1303:15:58【问题描述】:我有一个模型,我将拥有一个实例,因此我需要覆盖changelist_view以绕过它(仅当我... 查看详情

为啥当我覆盖 base.html django-admin 时已禁用响应式界面?

】为啥当我覆盖base.htmldjango-admin时已禁用响应式界面?【英文标题】:Whywhenioverridingbase.htmldjango-adminhasbeendisableresponsiveinterface?为什么当我覆盖base.htmldjango-admin时已禁用响应式界面?【发布时间】:2020-06-1005:55:35【问题描述】:... 查看详情

Django:覆盖每个应用程序而不是每个项目的“不可覆盖”管理模板?

】Django:覆盖每个应用程序而不是每个项目的“不可覆盖”管理模板?【英文标题】:Django:overriding\'unoverridable\'admintemplatesperappinsteadofperproject?【发布时间】:2010-11-0113:26:12【问题描述】:Django文档清楚地说明了以下内容:并非... 查看详情

Django ModelAdmin 查询集覆盖不起作用

】DjangoModelAdmin查询集覆盖不起作用【英文标题】:DjangoModelAdminquerysetoverridedoesn\'twork【发布时间】:2011-06-1820:31:04【问题描述】:我正在尝试覆盖ModelAdmin类的queryset(),以便admin中显示的对象列表按两个级别排序。我试过下面的... 查看详情

关于django url 为啥会被覆盖?

】关于djangourl为啥会被覆盖?【英文标题】:Aboutdjangourlwhywillbeoverwrite?关于djangourl为什么会被覆盖?【发布时间】:2015-06-2506:54:54【问题描述】:这是我的文件树____mysite|____db.sqlite3|____dealwith_Time||______init__.py||______init__.pyc||____adm... 查看详情

在 django 中测试 admin.ModelAdmin

...admin.py中测试admin.ModelAdmin的最佳方法。具体来说,我正在覆盖我想要测试的save_model()函数。根据我所做的研究,我发现的唯一解决方案是编写请求/响应测试,然后查询数据库。【问题讨论】:【参考方案1 查看详情

如何覆盖默认的 django 忘记密码模板?

】如何覆盖默认的django忘记密码模板?【英文标题】:Howtooverridedefaultdjangoforgotpasswordtemplate?【发布时间】:2013-04-1210:06:24【问题描述】:密码重置模板存储在:/usr/local/lib/python2.7/dist-packages/django/contrib/admin/templates/registration但是... 查看详情

在 Django Admin 中覆盖 change_form.html 模板时,其模型列表视图的面包屑显示为灰色且不可点击

】在DjangoAdmin中覆盖change_form.html模板时,其模型列表视图的面包屑显示为灰色且不可点击【英文标题】:Whenoverridingchange_form.htmltemplateinDjangoAdmin,thebreadcrumbforitsmodellistviewisgrayedoutandunclickable【发布时间】:2019-09-0912:37:36【问题描... 查看详情

无法覆盖 django-allauth 模板

】无法覆盖django-allauth模板【英文标题】:Unabletooverridedjango-allauthtemplates【发布时间】:2014-08-3003:07:35【问题描述】:我正在尝试覆盖默认的django-allauth模板。我已将站点包中allauth文件夹中的模板复制到我的应用程序模板目录中... 查看详情

仅针对某些模型覆盖 Django 管理员 change_list_results.html

】仅针对某些模型覆盖Django管理员change_list_results.html【英文标题】:OverridingtheDjangoadminchange_list_results.htmlonlyforsomemodels【发布时间】:2011-08-2106:04:23【问题描述】:我只想为我的一个模型覆盖templates/admin/change_list_results.html和templa... 查看详情

django:我如何实际覆盖管理站点模板

】django:我如何实际覆盖管理站点模板【英文标题】:django:howdoIactuallyoverrideadminsitetemplate【发布时间】:2017-01-0102:42:42【问题描述】:我知道这个问题被问了好几次,但我基本上浏览了所有关于堆栈溢出的帖子,但仍然无法让... 查看详情