我认为这是一个非常简单的任务,但事实并非如此。 因此,我在Django管理类上使用了两种不同的mixin。他们都有一些带有模板的代码。
管理员class AdminMixin01(admin.ModelAdmin):
change_form_template = "change_form1.html"
class AdminMixin02(admin.ModelAdmin):
change_form_template = "change_form2.html"
class ModalAdmin(AdminMixin01, AdminMixin02, admin.ModelAdmin):
pass
change_form1.html
{% extends "change_form.html" %}
{% block content %}
{{ block.super }}
Form 1
{% endblock content %}
change_form2.html
{% extends "change_form.html" %}
{% block content %}
{{ block.super }}
Form 2
{% endblock content %}
在python和html方面看起来都很简单。
问题在于Django仅渲染第一个mixin的模板,而忽略第二个mixin的模板。在这种情况下,仅change_form1.html
呈现到原始change_form.html
模板中,而没有来自change_form2.html
的痕迹。
两个混合中的python代码都可以正常工作,但html代码除外。 有什么想法吗?