【发布时间】:2017-02-12 05:55:16
【问题描述】:
我可以在更改表单管理页面上插入(蹩脚的)静态文本,但我真的希望它使用正在编辑的当前对象的上下文!
例如,我想在 MyObject 更改表单上格式化 URL,以包含 ForeignKey 连接对象 (obj) 的 ID 作为链接。
我的管理对象:
class MyObjectChangeForm(forms.ModelForm):
class Meta:
model = MyObject
fields = ('field1', 'obj',)
class MyObjectAdmin(admin.ModelAdmin):
form = MyObjectChangeForm
list_display = ('field1', 'obj')
def render_change_form(self, request, context, *args, **kwargs):
self.change_form_template = 'admin/my_change_form.html'
extra = {'lame_static_text': "something static",}
context.update(extra)
return super(MyObjectAdmin, self).render_change_form(request,
context, *args, **kwargs)
我的模板templates/admin/my_change_form.html:
{% extends "admin/change_form.html" %}
{% block form_top %}
{{ lame_static_text }}
<a href="http://example.com/abc/{{ adminform.data.obj.id }}?"/>View Website</a>
{% endblock %}
{{adminform.data.obj.id}} 调用显然不起作用,但我想要一些类似的东西。
如何将当前对象的动态上下文插入到管理员更改表单中?
【问题讨论】:
标签: python django django-admin