我有一个名为Foo
的Django模型
IT具有“远程”的ForeignKey。
在django管理员中显示如下:
下拉菜单下面有两个图标:“修改”和“添加”。
如果我可以拥有第三个图标,那就太酷了:链接到给定Remote实例的管理页面。
这怎么办?
某种重用性会很好,因为我希望此功能可用于多个管理页面。
答案 0 :(得分:4)
我还没有亲自测试过,但是要添加更多图标,您应该可以通过覆盖related_widget_wrapper
的小部件的管理模板来实现。
请参阅以下两个文件:
django/contrib/admin/templates/admin/related_widget_wrapper.html django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html
具体来说,您希望它生成更改网址:{{ change_related_template_url }}
而没有{{ url_params }}
覆盖管理模板:
https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#admin-overriding-templates
答案 1 :(得分:1)
有一个开始代码可以帮助您
1-首先,您需要使用javascript来处理动态元素,因此可以使用如下代码:
$('a.related-widget-wrapper-link add-related, a#add_id_client').after('<a href="#" class="float-right"> <img src="/static/application/img/avatar.jpg"> </a>');
注意:a#add_client
,更改为您当前的型号名称
2-在javascript中将网址设置为<a href=""></a>
3-最后,使用class Meta:
或覆盖base.html
将.js代码链接到模板。例如:
base.html 最终文件
{% block footer %}
{% endblock %}
</div>
<!-- END Container -->
<script type="text/javascript" src="{% static "application/js/my_custom_javascript.js"%}"></script>
</body>
</html>