3

我为管理站点使用 django 的默认管理员,并创建了一个名为“项目”的应用程序 在此处输入图像描述

然后在项目更改表单中,我想显示动态图像,我打算使用 google API 绘制一些图表,所以我必须将更改 html 表单添加到 html 文件中,如下所示:

在此处输入图像描述

所以我的问题是我如何修改这个页面的django默认模板,我在模板/文件夹中找不到表单,这个页面是否名为“change_form”?“更改列表”?或其他一些名称。如果是这样,我如何只更改应用程序“项目”的表单,因为也许我会创建一些与“项目”处于同一级别的其他应用程序

4

2 回答 2

1

您需要一个有效的静态文件的位置。

然后在该静态文件目录中放置一个管理目录。

然后将您的 addname 添加为如下目录:

Root
  yourapp
     static
        admin
           yourapp
               file_to_overwrite

找到你的 Django 文件。然后转到: contrib/admin/templates/admin

在 OSX 上,这将是:

/Library/Python/2.7/site-packages/django/contrib/admin/templates/admin

将您要覆盖的文件复制到您的应用程序目录,如上。

编辑:

如果您想为单个应用更改单个表单:

例如:

Root
  yourapp
     static
        admin
           yourapp
               modelname
                   change_form.html

只有模型“modelname”会受到这个 html 文件的影响。

于 2012-12-10T13:12:44.280 回答
0

正如文档所建议的那样,执行此操作的一个好方法是使用@Rickard Zachrisson 答案,但不要复制它,而是使用“扩展”块并导入超级。

这应该是一种更好的方法,因为您不是直接覆盖管理模板而是继承它们。

这就是文档在插入 JS 时建议的方式,例如:

{% extends 'admin/change_form.html' %}
{% load static %}

{% block admin_change_form_document_ready %}
{{ block.super }}
<script type="text/javascript" src="{% static 'app/formset_handlers.js' %}"></script>
{% endblock %}
于 2017-05-12T17:17:40.587 回答