recorrer procesamiento por para manipulacion librerias imagenes imagen con analisis python file-upload flask web-development-server

python - procesamiento - ¿Dónde busca el matraz los archivos de imagen?



procesamiento de imagenes con python pdf (4)

¿Está el archivo de imagen ayrton_senna_movie_wallpaper_by_bashgfx-d4cm6x6.jpg en su directorio static ? Si lo mueve a su directorio estático y actualiza su HTML como tal:

<img src="/static/ayrton_senna_movie_wallpaper_by_bashgfx-d4cm6x6.jpg">

Deberia de funcionar.

Además, vale la pena señalar, hay una mejor manera de estructurar esto.

Estructura de archivos:

app.py static |----ayrton_senna_movie_wallpaper_by_bashgfx-d4cm6x6.jpg templates |----index.html

app.py

from flask import Flask, render_template, url_for app = Flask(__name__) @app.route(''/index'', methods=[''GET'', ''POST'']) def lionel(): return render_template(''index.html'') if __name__ == ''__main__'': app.run()

templates / index.html

<html> <head> </head> <body> <h1>Hi Lionel Messi</h1> <img src="{{url_for(''static'', filename=''ayrton_senna_movie_wallpaper_by_bashgfx-d4cm6x6.jpg'')}}" /> </body> </html>

Si lo hace de esta manera, se asegura de que no está codificando de forma rígida una ruta de URL para sus activos estáticos.

Estoy configurando un servidor local usando el matraz. Todo lo que quiero hacer actualmente es mostrar una imagen usando la etiqueta img en la página index.html. Pero sigo recibiendo errores

GET http://localhost:5000/ ayrton_senna_movie_wallpaper_by_bashgfx-d4cm6x6.jpg 404 (NOT FOUND)

¿Dónde busca matraz los archivos? Un poco de ayuda sería genial. Mi código HTML es

<html> <head> </head> <body> <h1>Hi Lionel Messi</h1> <img src= "ayrton_senna_movie_wallpaper_by_bashgfx-d4cm6x6.jpg "> </body> </html>

Mi código de python es:

@app.route(''/index'', methods=[''GET'', ''POST'']) def lionel(): return app.send_static_file(''index.html'')


De la documentation :

Las aplicaciones web dinámicas también necesitan archivos estáticos. De ahí es de donde vienen los archivos CSS y JavaScript. Lo ideal es que su servidor web esté configurado para servirlos por usted, pero durante el desarrollo, Flask también puede hacer eso. Simplemente cree una carpeta llamada static en su paquete o junto a su módulo y estará disponible en /static en la aplicación.

Para generar URL para archivos estáticos, use el nombre del punto final ''static'' especial:

url_for(''static'', filename=''style.css'')

El archivo debe almacenarse en el sistema de archivos como static/style.css .


Me tomó un tiempo resolver esto también. url_for en Flask busca los puntos finales que especificó en el script routes.py .

Entonces, si tienes un decorador en tu archivo routes.py como @blah.route(''/folder.subfolder'') , Flask reconocerá el comando {{ url_for(''folder.subfolder'') , filename = "some_image.jpg" }} . El argumento ''folder.subfolder'' envía a un punto final del Flask que reconoce.

Sin embargo, digamos que usted almacenó su archivo de imagen, some_image.jpg , en su subcarpeta, PERO no especificó esta subcarpeta como punto final de la ruta en su flask routes.py , su decorador de rutas se parece a @blah.routes(''/folder'') . Luego, debe solicitar su archivo de imagen de esta manera: {{ url_for(''folder''), filename = ''subfolder/some_image.jpg'' }}

IE le dice a Flask que vaya al punto final que conoce, "carpeta", luego lo dirija desde allí colocando la ruta del subdirectorio en el argumento de nombre de archivo.


use la ruta absoluta donde realmente existe la imagen (por ejemplo, ''/home/artitra/pictures/filename.jpg''

o crea una carpeta estática dentro del directorio de tu proyecto como este

| templates - static/ - images/ - yourimagename.jpg

entonces haz esto

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

entonces puedes acceder a tu imagen como esta en index.html

src ="/static/images/yourimage.jpg"

en img tag