not found files debug django django-templates django-staticfiles

found - django 1.5-Cómo usar variables dentro de la etiqueta estática



django static files not found (5)

@rounin, puedes, al menos, usar

{% get_static_prefix %}

que se cargará cuando {% load static%}. Es más natural que {% static ''''%} :)

Actualmente estoy migrando todas las referencias de archivos estáticos en mi proyecto a la nueva etiqueta {% static%} que django 1.5 introdujo, pero estoy teniendo un problema, en algunos lugares utilizo variables para obtener el contenido. Con la nueva etiqueta no puedo, ¿hay alguna manera de resolver esto?

Código actual:

<img src="{{ STATIC_URL }}/assets/flags/{{ request.LANGUAGE_CODE }}.gif" alt="{% trans ''Language'' %}" title="{% trans ''Language'' %}" />

Lo que debería ser (esto no funciona):

<img src="{% static ''assets/flags/{{ request.LANGUAGE_CODE }}.gif'' %}" alt="{% trans ''Language'' %}" title="{% trans ''Language'' %}" />


Debería poder concatenar cadenas con el filtro de add plantilla :

{% with ''assets/flags/''|add:request.LANGUAGE_CODE|add:''.gif'' as image_static %} {% static image_static %} {% endwith %}

Lo que intenta hacer no funciona con la etiqueta de plantilla static porque solo toma una cadena o una variable:

{% static "myapp/css/base.css" %} {% static variable_with_path %} {% static "myapp/css/base.css" as admin_base_css %} {% static variable_with_path as varname %}


Lo hice funcionar al usar una cadena vacía para la ruta estática y luego usar mis variables en su propia sección, como esta:

<a href= "{% static "" %}{{obj.a}}/{{obj.b}}/{{obj.c}}.gz" >Name</a>


Por lo que vale, creo que esta es la manera más fácil:

<img src="{% static ''assets/flags/''|add:request.LANGUAGE_CODE|add:''.gif'' %}" ... >

Esta es una vieja pregunta y no estoy seguro de si este método podría hacerse en ese momento, pero ahora, en Django 2.0 esto parece funcionar bien para mí.


una forma más limpia es establecer {% static%} como una variable desde el comienzo del html para que podamos usarlo de la manera que queramos.

{% load static %} {% static "" as baseUrl %} <img src="{{ baseUrl }}/img/{{p.id}}"></img>