সুতরাং এটি বিব্রতকর। আমি একটি অ্যাপ্লিকেশন পেয়েছি যা আমি একসাথে নিক্ষেপ করেছি Flask
এবং আপাতত এটি কেবলমাত্র সিএসএস এবং জেএস-এর কয়েকটি লিঙ্ক সহ একটি একক স্থিতিশীল HTML পৃষ্ঠা সরবরাহ করছে page এবং আমি খুঁজে পাচ্ছি না যেখানে নথিতে Flask
স্ট্যাটিক ফাইলগুলি ফিরিয়ে আনা হয়েছে describes হ্যাঁ, আমি ব্যবহার করতে পারি render_template
তবে আমি জানি ডেটাটি টেম্পলেটাইজড নয়। আমি ভাবতাম send_file
বা url_for
সঠিক জিনিস ছিলাম, তবে আমি সেগুলিতে কাজ করতে পারি না। এর মধ্যে, আমি ফাইলগুলি খুলছি, সামগ্রী পড়ছি এবং Response
উপযুক্ত মাইমটাইপ সহ একটি কারচুপ করবো :
import os.path
from flask import Flask, Response
app = Flask(__name__)
app.config.from_object(__name__)
def root_dir(): # pragma: no cover
return os.path.abspath(os.path.dirname(__file__))
def get_file(filename): # pragma: no cover
try:
src = os.path.join(root_dir(), filename)
# Figure out how flask returns static files
# Tried:
# - render_template
# - send_file
# This should not be so non-obvious
return open(src).read()
except IOError as exc:
return str(exc)
@app.route('/', methods=['GET'])
def metrics(): # pragma: no cover
content = get_file('jenkins_analytics.html')
return Response(content, mimetype="text/html")
@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def get_resource(path): # pragma: no 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)
কেউ এর জন্য একটি কোড নমুনা বা url দিতে চান? আমি জানি এটি মৃত সহজ হতে চলেছে।