Flask’ta statik dosyalar nasıl sunulur

| | | | | | | | | | | | | | | | | | | | |

Yani bu utanç verici. Flask içinde bir araya getirdiğim bir uygulamam var ve şimdilik sadece CSS ve JS'ye bazı bağlantılar içeren tek bir statik HTML sayfası sunuyor. Ve belgelerin nerede olduğunu bulamıyorum Flask, statik dosyaların döndürülmesini tanımlar. Evet, render_template kullanabilirdim ama verilerin şablonlaştırılmadığını biliyorum. send_file veya url_for'un doğru şey olduğunu düşünürdüm, ancak bunları çalıştıramadım. Bu arada dosyaları açıyorum, içeriği okuyorum ve uygun mimetipi ile bir Yanıt'ı donatmak:

os.path'i şişeden içe aktarma İçe Aktarma Şişesi, Yanıt uygulaması = Flask(__name__) app.config.from_object(__name__) def root_dir(): # pragma: kapaksız dönüş os.path.abspath(os.path.dirname(__file__)) def get_file(dosyaadı): # pragma: kapak denemesi yok: src = os.path.join(root_dir(), filename) # Flask'ın statik dosyaları nasıl döndürdüğünü anlayın # Denendi: # - render_template # - send_file # Bu, exc olarak IOError dışında, açık olmayan dönüş open(src).read() olmamalıdır: return str(exc) @app. route("/", method=["GET"]) def metrics(): # pragma: içerik yok = get_file("jenkins_analytics.html") return Response(content, mimetype="text/html") @app .route("/", defaults={"path": ""}) @app.route("/<path:path>") def get_resource(path): # pragma: hayır cover mimetypes = { ".css": "text/css", ".html": "text/html", ".js": "application/javascript", } complete_path = os.path. join(root_dir(), path) ext = os.path.splitext(path)[1] mimetype = mimetypes.get(ext, "text/html") content = get_file(complete_path) return Response(content, mimetype=mimetype) ) if __name__ == "__main__": # pragma: no cover app.run(port=80) 

Bunun için bir kod örneği veya url vermek isteyen var mı? Bunun çok basit olacağını biliyorum.