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

时间:2016-12-20 20:15:18

标签: python css flask static url-for

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

|-->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

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

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:2)

正如Flask documentation所述,您应该将.css和.js文件存储在静态文件夹中,并且出于组织目的,最好将每种类型的文件都作为子目录(尤其是随着应用程序的增长)。

this SO answer,您不需要在Jinja表达式中输入type =“ text / css”或type =“ text / javascript”。