自定义django-admin模板

时间:2012-02-14 11:09:59

标签: python django django-admin django-templates

我有一个模型,我的实例名为“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 %}

我只需要在表单上方显示图像。

谢谢! 约翰。

1 个答案:

答案 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方法,而不是实例