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

Joh*_*etz 11 css python static url-for 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
Run Code Online (Sandbox Code Playgroud)

链接到这些 css 和 js 文件的正确方法是index.html什么,我需要与它们关联的参数是什么?

我的 CSS 链接如下所示,位于标题中:

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

我的 JS 链接如下所示,位于 body 标签的末尾:

<script src="{{ url_for('static', filename='js/script.js') }}"></script>
Run Code Online (Sandbox Code Playgroud)

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

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

dee*_*lie 3

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

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