如何在Django中为Tablerinline管理表单集创建自定义模板?
在我的Django应用程序(研究数据库)中,当在管理中更改person对象时,我希望该人员的所有源都列为指向该源文件的超链接。我试图通过为堆叠的内联文件创建自定义模板来实现这一点。以下是迄今为止的自定义模板:如何在Django中为Tablerinline管理表单集创建自定义模板?,django,django-templates,Django,Django Templates,在我的Django应用程序(研究数据库)中,当在管理中更改person对象时,我希望该人员的所有源都列为指向该源文件的超链接。我试图通过为堆叠的内联文件创建自定义模板来实现这一点。以下是迄今为止的自定义模板: <p>Testing</p> {% for form in inline_admin_formset %} {% for fieldset in form %} <h5>Fieldset</h5>
<p>Testing</p>
{% for form in inline_admin_formset %}
{% for fieldset in form %}
<h5>Fieldset</h5>
{% if fieldset.name %} <h2>{{ fieldset.name }}</h2>{% endif %}
{% for line in fieldset %}
<h6>Line</h6>
{% for field in line %}
<h6>Field</h6>
{{ field.field }}
{% endfor %}
{% endfor %}
{% endfor %}
{% endfor %}
测试
{inline_admin_formset%中的表单为%1}
{%的字段集格式为%}
控件组
{%if fieldset.name%}{{fieldset.name}{%endif%}
{字段集%中的行的%s}
线
{第%行中的字段为%1}
领域
{{field.field}
{%endfor%}
{%endfor%}
{%endfor%}
{%endfor%}
很多这只是为了让我看看发生了什么。我使用了链接和作为一种指导。从{{field.field}}
中呈现的是内联元素所期望的效果-一个下拉菜单,其中源名称作为选项,以及一些用于添加/更改的图标
然而,我真正想要的只是作为超链接呈现的源名称。如何从Django模板语言中获得源名称(属性的实际名称是
source\u name
)(即“field”对象)?在该上下文中,{{field.field}
是一个对象,value方法可能是您想要使用的,就像在{field.field.value}
中一样
更Django-ish的方法(也更复杂)可能涉及创建一个只显示文本的自定义小部件(从子类化开始),然后将其挂接到模型的ModelAdmin
中使用的表单中。我认为在需要对BaseInlineFormset
进行子类化方面存在一些漏洞,可能还有其他一些漏洞。。。我看到,BaseFormSet
类在其construct\u form
方法中引用了一个.form属性,但是从这里开始事情就不那么明朗了
还可能有助于检查此过去的线程: