Este es mi settings.py:
STATIC_URL = "/static/"
# Additional locations of static files
STATICFILES_DIRS = (
"/home/userName/project/app/static",
)
Supongamos que mi vista pasa un objeto ImageField a la plantilla. Así como se describe aquí en los documentos:
https://docs.djangoproject.com/en/1.5/ref/models/fields/#django.db.models.fields.files.FieldFile.url
Puedo acceder a la URL de la imagen haciendo
{{ FieldFile.url }}
en mi plantilla Funciona si intento acceder a la URL de la imagen, sin embargo, también necesito poder cargar la estática. Quiero hacer algo como esto:
{% load staticfiles %}
<img src="/images/{% static "{{ FieldFile.url }}" %}" alt="" />
Sin embargo, eso no funciona. Supongamos que el FieldFile.url es
images/imageName.jpg
y cuando lo haga
<img src="/images/{% static "images/imageName.jpg" %}" alt="" />
funciona, pero no funciona cuando uso
{{ FieldFile.url }}
por alguna razon, como es que
Nota: cuando intento hacer
{% load staticfiles %}
<img src="/images/{% static "{{ FieldFile.url }}" %}" alt="" />
y "inspeccionar elemento" usando google chrome, muestra esto
<img src="/images//static/%7B%7B%20FieldFile.url%20%7D%7D" alt="" />
Respuestas
4 para la respuesta № 1los {{ }}
no son necesarios ya que ya estás dentro de una etiqueta de plantilla:
<img src="/images/{% static FieldFile.url %}" alt="" />