/ / Django - possível exibir objetos ImageField na pasta estática? - django, django-templates, django-views, django-staticfiles, django-models

Django - possível exibir objetos ImageField na pasta estática? - django, django-templates, django-views, django-staticfiles, django-models

Este é meu settings.py:

STATIC_URL = "/static/"

# Additional locations of static files
STATICFILES_DIRS = (
"/home/userName/project/app/static",
)

Suponha que minha visão esteja passando um objeto ImageField para o modelo. Então, como descrito aqui nos documentos:

https://docs.djangoproject.com/en/1.5/ref/models/fields/#django.db.models.fields.files.FieldFile.url

Eu posso acessar o URL da imagem fazendo

 {{ FieldFile.url }}

no meu modelo. Funciona se eu tentar acessar a URL da imagem, no entanto, também preciso carregar a estática. Eu quero fazer algo assim:

{% load staticfiles %}

<img src="/images/{% static "{{ FieldFile.url }}" %}" alt="" />

no entanto, isso não funciona. Suponha que o FieldFile.url seja

images/imageName.jpg

e quando eu faço

<img src="/images/{% static "images/imageName.jpg" %}" alt="" />

funciona, mas não funciona quando eu uso

{{ FieldFile.url }}

por algum motivo, como vem?

Nota: quando tento fazer

{% load staticfiles %}

<img src="/images/{% static "{{ FieldFile.url }}" %}" alt="" />

e "inspecionar elemento" usando o Google Chrome, ele mostra isso

<img src="/images//static/%7B%7B%20FieldFile.url%20%7D%7D" alt="" />

Respostas:

4 para resposta № 1

o {{ }} não são necessárias, pois você já está dentro de uma tag de template:

<img src="/images/{% static FieldFile.url %}" alt="" />