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 № 1o {{ }}
não são necessárias, pois você já está dentro de uma tag de template:
<img src="/images/{% static FieldFile.url %}" alt="" />