Flask:在模板中放置静态 javascript 文件的位置

Flask: where to put static javascript files in templates

我正在开发具有以下文件夹结构的 Flask 应用程序:

|-->flask_app.py
    |-->static
        |-->css
            |-->bootstrap.min.css
            |-->styles.css
        |-->js
            |-->jquery-3.1.1.min.js
            |-->bootstrap.min.js
            |-->script.js
    |-->templates
        |-->index.html

link css 和 index.html 中的 js 文件的正确方法是什么?我需要哪些参数与它们相关联?

我的 CSS link 看起来像这样并且位于 header:

<link rel="stylesheet" href="{{ url_for('static', filename='css/styles.css') }}">

我的 JS link 看起来像这样,位于 body 标签的末尾:

<script src="{{ url_for('static', filename='js/script.js') }}"></script>

这是正确的语法吗?它们是否位于我的模板中的正确位置(我确定这里有灵活性)?还有我应该传入的任何其他参数吗(例如 type="text/css"、type="text/javascript"、media="screen")?

一切都按预期工作,但如果有的话,我想遵循推荐的做法。

正如 Flask documentation 提到的,您应该将 .css 和 .js 文件存储在静态文件夹中,出于组织目的,将每种类型的文件作为子目录(尤其是作为您的应用增长)。

根据 this SO answer,您不需要在 jinja 表达式中包含 type="text/css" 或 type="text/javascript"。