Найти - Пользователи
Полная версия: Превью изображений в InlineModelAdmin
Начало » Django » Превью изображений в InlineModelAdmin
1 2
tezro
В общем, есть модель с ImageField, которая редактируется как TabularInline. Рыщу уже часа два. Ткните пальцем, кто знает, как мне в инлайнах показать саму картинку. Не превью, нет. Не важно что, просто как в инлайн запихнуть своё что-то.
slav0nic
шаблоны админки пробовал редактировать?)
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-options
template
tezro
slav0nic
шаблоны админки пробовал редактировать?)
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-options
template
Да пробовал, но честно говоря напоролся на камень.
Шаблоны лежат в contrib/admin/templates/admin/edit_inline/tabular.html
Изменить мне надо только для приложения Projects модель Project.
Куда копировать шаблон для изменения подскажи?
slav0nic
ну я ж написал template параметр задай и ложи куда угодно, ModelAdmin и так вешается на определённую модель
tezro
slav0nic
ну я ж написал template параметр задай и ложи куда угодно, ModelAdmin и так вешается на определённую модель
Ага, вернулся к компу, понял. Слушай, а как в шаблоне в переборе полей достучаться до метода модели?

        {% for fieldset in inline_admin_form %}
{% for line in fieldset %}
{% for field in line %}
<td class="{{ field.field.name }}">
{{ field.field.errors.as_ul }}
{% ifequal field.field.name "image" %}
# Тут хочу вставить просто <img src="{{ модель.поле или модель.метод }}">
{% endifequal %}
{{ field.field }}
</td>
{% endfor %}
{% endfor %}
{% endfor %}
Я туплю?
tezro
Помощи прошу. Как в переборе полей получить значение?
slav0nic
На сколько я помню модель в шаблон не прокидывается, максимум object_id, возьми debug-toolbar и посмотри какие переменные попадают в контекст шаблона)
вариант №2
class BlablaAdmin(model.Admin):
...
def changelist_view(self, request, extra_context=None, **kwargs):
if extra_context is None: extra_context = {}
extra_context.update(model=self.model)
return super(ReviewAdmin, self).changelist_view(request, extra_context=extra_context)
и {{ model }} будет в контексте
вариант 3
написать тег и через object_id определять модель (ContentTypes фреймворк).
смотри Variables provided by the Django admin на http://www.ibm.com/developerworks/opensource/library/os-django-admin/index.html

PS: ЧИТАЙ СОРЦЫ ДЖАНГИ, там даже мне всё понятно В)
tezro
slav0nic
На сколько я помню модель в шаблон не прокидывается, максимум object_id, возьми debug-toolbar и посмотри какие переменные попадают в контекст шаблона)
вариант №2
class BlablaAdmin(model.Admin):
...
def changelist_view(self, request, extra_context=None, **kwargs):
if extra_context is None: extra_context = {}
extra_context.update(model=self.model)
return super(ReviewAdmin, self).changelist_view(request, extra_context=extra_context)
и {{ model }} будет в контексте
вариант 3
написать тег и через object_id определять модель (ContentTypes фреймворк).
смотри Variables provided by the Django admin на http://www.ibm.com/developerworks/opensource/library/os-django-admin/index.html

PS: ЧИТАЙ СОРЦЫ ДЖАНГИ, там даже мне всё понятно В)
Да, всё верно, только в что мне даст эта модель или шаблон в инлайне? Мне надо фактически достать id элемента, который перебирается в инлане в данный момент. Это весь формсет чтоль переписывать? Не верю )
slav0nic
ща начну материться…, ты спросил про метод модели, я тебе ответил.
{{ form.initial.id }} в помощь
tezro
slav0nic
ща начну материться…, ты спросил про метод модели, я тебе ответил.
{{ form.initial.id }} в помощь
Я не спорю, про модель всё верно. Только я спрашиваю про инлайны к модели )

Без обид и волнений, но если можешь, то вставь вот в этот шаблон вместо решёток ID элемента в цикле.

        {% for fieldset in inline_admin_form %}
{% for line in fieldset %}
{% for field in line %}
<td class="{{ field.field.name }}">
{{ field.field.errors.as_ul }}
{{ field.field }}
#######################
</td>
{% endfor %}
{% endfor %}
{% endfor %}
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB