Пользовательские шаблоны django-admin - PullRequest
2 голосов
/ 14 февраля 2012

У меня есть модель, и мой экземпляр называется "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 Ответ

1 голос
/ 14 февраля 2012

Форма административного шаблона доступна через переменную adminform.form.Ваше поле называется img, поэтому оно будет выглядеть так (не проверено):

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

Кстати.Имена классов в python должны использовать CapitalizedWordsNamingConvention в соответствии с официальным руководством по стилю 1007 *.Вам следует назвать модель UserImage вместо user_image.

BTW2: show_user_image - это метод , а не экземпляр .

...