BOMBOLOM.COM

(django) How to display images in Admin change page

Este é um post de José Lopes.

Quando se faz o upload de imagens num projecto em Django é de esperar que elas possam ser visíveis quando se edita o registo associado na página de administração.

Este post mostra precisamente o se pode fazer, de uma forma simples, para mostrar as imagens quando se edita na administração um registo que as possua.

Basta copiar o ficheiro 'PATH para a directoria do Django'/django/contrib/admin/templates/widget/file.html para a directoria templates/widget do nosso projecto.

Estamos a utilizar o mesmo princípio que, por exemplo, se utiliza para personalizar as páginas de administração. Neste caso o template file.html define como são apresentados os campos de imagem na aplicação de administração.

O ficheiro original tem as seguintes linhas:

{% load admin_modify i18n %}{% if bound_field.original_value %}
{% trans "Currently:" %} <a href="{{ bound_field.original_url }}" > {{ bound_field.original_value|escape }} </a><br />
{% trans "Change:" %}{% output_all bound_field.form_fields %}
{% else %} {% output_all bound_field.form_fields %} {% endif %}

Podemos facilmente o modificar para incluir as imagens, por exemplo:

{% load admin_modify i18n %}{% if bound_field.original_value %}
<img src="/site_media/{{ bound_field.original_url }}">
{% trans "Change:" %}{% output_all bound_field.form_fields %}
{% else %} {% output_all bound_field.form_fields %} {% endif %}

Uma pequena nota, no path da imagem incluí site_media assumindo que o upload da imagem é realizado para aqui. Só para afirmar que temos de dar o caminho correcto para a imagem em sintonia com o nosso caso particular.

Por fim, de referir que sempre que alterar este ficheiro temos de correr o comando python manage.py runserver para poder visualizar as modificações.

08.05.2008 | Ler mais | Comentários | Tags , ,

Voltar à Página principal | Made with PyBlosxom