2012-02-14 149 views
2

我有一个模型,并叫我的实例“show_user_image”自定义Django的管理模板

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

您不显示任何实例。你的意思是方法吗? – Marcin 2012-02-14 11:19:33

+0

是的,我的方法:) – qraq 2012-02-14 12:00:56

回答

1

表单是admin模板可通过adminform.form变量获得。你的字段命名为img,所以它会是这样的(未经测试):

{% block form_top %} 
    <img src="{{ adminform.form.img.value }}"/> 
{% endblock %} 

BTW。根据官方style guide,python中的类名应使用CapitalizedWordsNamingConvention。您应该命名模型UserImage而不是user_image

BTW2:show_user_image方法,而不是一个实例

+0

非常感谢! :)dzięki – qraq 2012-02-14 11:54:28