Menyajikan fail statik, seperti HTML, CSS dan JavaScript, dalam Flask adalah penting untuk membina aplikasi web. Walau bagaimanapun, ia boleh mengelirukan untuk mencari dokumentasi khusus mengenai topik ini.
Secara lalai, Flask secara automatik menyediakan fail statik daripada subdirektori bernama 'statik' yang terletak di sebelah modul Python yang mentakrifkan apl Flask anda. Untuk mengakses fail ini, gunakan url_for helper untuk menjana URL dengan awalan 'statik':
url_for('static', filename='css/main.css')
Sebagai contoh, permintaan ke URL '/static/css/main.css' akan mengembalikan kandungan fail 'main.css' yang terletak dalam direktori 'static/css'. Kaedah ini sesuai apabila anda mempunyai direktori khusus untuk fail statik anda.
Jika anda perlu menyediakan fail daripada direktori lain, anda boleh menggunakan fungsi send_from_directory:
from flask import send_from_directory @app.route('/files/<path:path>') def get_file(path): return send_from_directory('files', path)
Ini akan membenarkan pengguna mengakses fail dalam direktori 'fail' menggunakan URL '/files/
Pilihan lain ialah menghantar fail dalam memori. Jika anda menjana fail tanpa menulisnya ke sistem fail, anda boleh menghantar objek BytesIO ke fungsi send_file untuk menyampaikannya:
from io import BytesIO from flask import send_file @app.route('/download/file') def download_file(): # Generate the file in memory content = b'...' filename = 'report.pdf' # Send the file output = BytesIO(content) return send_file(output, mimetype='application/pdf', as_attachment=True, attachment_filename=filename)
Ingat untuk mengendalikan keselamatan laluan dan hanya menyampaikan fail yang anda ingin umumkan apabila menggunakan kaedah ini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyajikan Fail Statik dengan Berkesan dalam Aplikasi Kelalang Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!