【问题标题】:Flask: where to put static javascript files in templatesFlask:在模板中放置静态 javascript 文件的位置
【发布时间】:2017-05-06 03:44:24
【问题描述】:

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

|-->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="text/css"、type="text/javascript"、media="screen")?

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

【问题讨论】:

  • 您在此处发布的脚本标签中存在语法错误,但在其他方面对我来说似乎是正确的。它不工作吗?您也可以配置静态目录(参见 API:flask.pocoo.org/docs/0.11/api),但默认为 static
  • 代码运行良好。只要确保这是正确的。顺便说一句,语法错误已修复,很好。
  • 在相关说明中,Flask's Static Files 是 StackOverflow 上新文档部分中涵盖的主题。
  • 这很好,对我来说效果很好。没有问题。
  • @YellowShark 不再。

标签: python css flask static url-for


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-02-25
    • 2014-06-06
    • 1970-01-01
    • 2017-01-11
    • 2016-08-05
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    相关资源
    最近更新 更多