¿Cómo se usa url_for
en Flask para hacer referencia a un archivo en una carpeta? Por ejemplo, tengo algunos archivos estáticos en la static
carpeta, algunos de los cuales pueden estar en subcarpetas como static/bootstrap
.
Cuando intento entregar un archivo de static/bootstrap
, obtengo un error.
<link rel=stylesheet type=text/css href="{{ url_for('static/bootstrap', filename='bootstrap.min.css') }}">
Puedo hacer referencia a archivos que no están en subcarpetas con esto, que funciona.
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='bootstrap.min.css') }}">
¿Cuál es la forma correcta de hacer referencia a archivos estáticos url_for
? ¿Cómo lo uso url_for
para generar URL para archivos estáticos en cualquier nivel?
Flask
agrega una regla de URL para elstatic
punto final después de la inicialización, por lo que cambiar estos atributos en unaFlask
instancia no cambia elurl_for('static', ...)
resultado. Para cambiar la inicialización de la publicación del punto final estático, consulte este artículo gist.github.com/brycepg/593ffb5ce9316d2871c7f24f9de34c24En mi caso, tuve una instrucción especial en el archivo de configuración nginx:
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { try_files $uri =404; }
Todos los clientes han recibido '404' porque nginx no sabe nada sobre Flask.
Espero que ayude a alguien.
fuente