Saltar al contenido

como servir static archivos en matraz

Esta es el arreglo más exacta que te podemos compartir, sin embargo mírala detenidamente y valora si es compatible a tu proyecto.

Solución:

El método preferido es usar nginx u otro servidor web para servir static archivos; podrán hacerlo de manera más eficiente que Flask.

Sin embargo, puedes usar send_from_directory para enviar archivos desde un directorio, lo que puede ser bastante conveniente en algunas situaciones:

from flask import Flask, request, send_from_directory

# set the project root directory as the static folder, you can set others.
app = Flask(__name__, static_url_path='')

@app.route('/js/')
def send_js(path):
    return send_from_directory('js', path)

if __name__ == "__main__":
    app.run()

Hacer no usar send_file o send_static_file con una ruta proporcionada por el usuario.

send_static_file ejemplo:

from flask import Flask, request
# set the project root directory as the static folder, you can set others.
app = Flask(__name__, static_url_path='')

@app.route('/')
def root():
    return app.send_static_file('index.html')

Si solo desea mover la ubicación de su static archivos, entonces el método más simple es declarar las rutas en el constructor. En el siguiente ejemplo, he movido mis plantillas y static archivos en una subcarpeta llamada web.

app = Flask(__name__,
            static_url_path='', 
            static_folder='web/static',
            template_folder='web/templates')
  • static_url_path='' elimina cualquier ruta anterior de la URL (es decir, la ruta predeterminada /static).
  • static_folder='web/static' para servir cualquier archivo que se encuentre en la carpeta
    web/static como static archivos
  • template_folder='web/templates' De manera similar, esto cambia la carpeta de plantillas.

Usando este método, la siguiente URL devolverá un archivo CSS:


Y finalmente, aquí hay una instantánea de la estructura de carpetas, donde flask_server.py es la instancia de Flask:

Carpetas de matraces estáticos anidados

También puede, y este es mi favorito, establecer una carpeta como static ruta para que los archivos internos sean accesibles para todos.

app = Flask(__name__, static_url_path='/static')

Con ese conjunto puedes usar el HTML estándar:


Aquí tienes las reseñas y calificaciones

Tienes la opción de asentar nuestro ensayo fijando un comentario y puntuándolo te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *