在我的Django应用程序(研究数据库)中,当更改管理员中的人物对象时,我希望该人员的所有来源都被列为该源文件的超链接。我试图通过为堆叠内联创建自定义模板来实现此目的。到目前为止,这是自定义模板:
git checkout commit -- file
很多这只是让我看到发生了什么。我使用了链接here和here作为指南。从git checkout
呈现的内容是您对内联元素的期望 - 一个下拉菜单,其中源名称为选项,一些图标用于添加/更改。
然而,我真正想要的只是作为超链接呈现的源名称。如何从Django模板语言(即“字段”对象)中获取源名称(属性的实际名称是<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 %}
)?
答案 0 :(得分:1)
在该上下文中,{{ field.field }}
是BoundField
对象,值方法可能就是您想要使用的方法,就像在{{ field.field.value }}
中一样。
更多Django-ish方法(并且更复杂)可能涉及创建仅显示文本的自定义窗口小部件(从子类化one of their built-ins开始),然后将其挂钩到{{1}中使用的窗体中为你的模型。我觉得那里有一个兔子洞,就需要将ModelAdmin
以及可能还有一些其他链接子类化而言......我看到了BaseInlineFormset
class有一个在BaseFormSet
方法中引用的.form属性,但是那里的东西有些模糊不清。
查看过去的帖子可能也很有用:Override a form in Django admin