【问题标题】:Custom django-admin templates自定义 django-admin 模板
【发布时间】:2012-03-05 18:12:16
【问题描述】:

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

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

谢谢! 约翰。

【问题讨论】:

  • 您没有显示任何实例。你是说方法吗?

标签: python django django-admin django-templates


【解决方案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 是一个方法,而不是一个实例

【讨论】:

    猜你喜欢
    • 2012-03-15
    • 2011-01-11
    • 2017-02-12
    • 2015-09-17
    • 2013-09-06
    • 2015-05-18
    • 2018-07-22
    • 2015-04-12
    • 2013-12-30
    相关资源
    最近更新 更多