我有一个模型,我的实例名为“show_user_image”:
class user_image(models.Model):
title = models.CharField(max_length=50)
img = models.imageField(upload_to='/home/blabla')
def show_user_image(self):
return u'<img src="%s" />' % self.img.url
show_user_image.short_description = 'User image'
image_img.allow_tags = True
当然我可以在我的管理员列表中使用它:
list_display = ('title', 'show_user_image')
我的问题是:如何在编辑表单中使用此实例?
像这样的东西: http://new-media.djangobook.com/content/en/1.0/chapter17/book_extra.png
{% extends "admin/change_form.html" %}
{% block form_top %}
<p>Insert meaningful help message here...</p>
{% endblock %}
但我想:
{% extends "admin/change_form.html" %}
{% block form_top %}
{{ MY-INSTANCE-HERE }}
{% endblock %}
我只需要在表单上方显示图像。
谢谢! 约翰。
答案 0 :(得分:1)
表单是管理员模板,可通过adminform.form
变量获取。您的字段名为img
,因此它将是这样的(未经测试):
{% block form_top %}
<img src="{{ adminform.form.img.value }}"/>
{% endblock %}
顺便说一句。根据官方style guide,python中的类名应使用CapitalizedWordsNamingConvention。您应该将模型命名为UserImage
,而不是user_image
。
BTW2:show_user_image
是方法,而不是实例。