在使用 Flask 开发 Web 应用时,经常需要加载内部调用的 JavaScript 文件、字体文件 (TTF) 等静态资源。以下介绍两种方法来实现静态文件的正确加载。

1. 使用 send_from_directory 函数

您可以使用 Flask 的 send_from_directory 函数来处理静态资源文件。以下是一个示例:

@app.route('/js/<path:filename>')
def serve_js(filename):
    return send_from_directory('js', filename)

@app.route('/fonts/<path:filename>')
def serve_fonts(filename):
    return send_from_directory('fonts', filename)

2. 通过 url_for 访问静态文件路径

在您的 HTML 文件中,您可以使用 url_for 函数来获取静态文件路径。以下是一个示例:

<link rel='stylesheet' href='{{ url_for('static', filename='css/style.css') }}'>
<script src='{{ url_for('static', filename='js/script.js') }}'></script>
<link rel='stylesheet' href='{{ url_for('static', filename='fonts/font.ttf') }}'>

注意:

  • 在使用 send_from_directory 函数时,请确保您的静态文件存储在您指定的目录下。
  • 在使用 url_for 函数时,请确保您在 Flask 应用中设置了静态文件目录。例如:
app.config['STATIC_FOLDER'] = 'static'

通过以上方法,您可以轻松地在 Flask 应用中加载静态资源文件,确保您的网页能够正常使用所有必要的元素。

Flask 应用中加载静态文件(JS、TTF等)的最佳实践

原文地址: https://www.cveoy.top/t/topic/lgw6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录