我使用django的管理站点的默认管理员,我创建了一个名为“project”的应用程序
然后在项目更改表单中,我想要显示和动态图像,我打算使用google API绘制一些图表,所以我必须更改html表单以在html文件中添加如下所示:
所以我的问题是如何修改django这个页面的默认模板,我找不到模板/文件夹中的表单,这个页面名为“change_form”吗? “更改列表”?或其他一些名字。如果是这样,我如何只更改应用程序“项目”的表单,因为我可能会创建一些与“项目”相同级别的其他应用程序
答案 0 :(得分:1)
你需要一个有效的静态文件的地方。
然后将管理目录放在该静态文件目录中。
然后将您的addname添加为如下目录:
Root
yourapp
static
admin
yourapp
file_to_overwrite
找到你的Django文件。然后去: 的的contrib /管理/模板/管理员
在OSX上,这将是:
<强> /Library/Python/2.7/site-packages/django/contrib/admin/templates/admin 强>
将要覆盖的文件复制到上面的yourapp目录。
修改强>
如果您想更改单个应用的单个表单:
例如:
Root
yourapp
static
admin
yourapp
modelname
change_form.html
此html文件只会影响模型“modelname”。
答案 1 :(得分:0)
正如文档建议的那样,这样做的好方法是使用@Rickard Zachrisson的答案,但不是复制它而是使用&#34; extends&#34;阻止并导入超级。
这应该是一种更好的方法,因为您不是直接覆盖管理模板而是继承它们。
这是docs建议在插入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 %}