问题标签 [flask-assets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
613 浏览

python - 使用多个蓝图时,Flask-Assets 或 Bundles 无法解析正确的 URL

我有一个问题,我真的希望有人能阻止我把头撞到桌子上。

  • 我有一个带有多个蓝图的 Flask 应用程序,每个蓝图都有自己的静态和模板目录。
  • 当仅注册并使用一个蓝图时,捆绑的 CSS 和 Javascript 的资产 URL 均已正确解析
  • 然而,当两个或更多蓝图被解析时,只有最后注册的蓝图中资产的 URL 才能正确解析(其他一切似乎都认为它的资产应该从根静态目录中提供)

当来自蓝图的模板解析资产 URL 时,我得到不正确的资产 URL。解析的 URL 构建不正确,就好像它们应该从根静态目录提供一样(我仍然希望整个应用程序有一个静态目录,以便 400 和 500 错误可以使用该目录呈现页面):

http://{host}/static/public_css_app (404)

什么时候应该:

http://{host}/mod_core/static/public_css_app (200)

这是应用程序初始化的一部分

以下是“{blueprint folder}/views.py”中的一个蓝图注册示例:

一张蓝图的观点:

另一个蓝图的观点:

这是 bundles.py 文件的示例(例如“/{blueprint_directory}/bundles.py”):

模板在技术上可以正常工作,使用url_for的静态文件也可以正常工作,只是资产解析不起作用。

任何帮助将不胜感激,因为我是 Flask 的新手。

0 投票
1 回答
835 浏览

python - 使用 Flask-assets 安装 bower 组件

在此处输入图像描述

我正在修改一个cookiecutter Flask 应用程序。我目前正在尝试将日期选择器添加到页面。我找到了https://eonasdan.github.io/bootstrap-datetimepicker/。这个 cookiecutter 使用烧瓶资产来管理项目资产。

在这个应用程序中有一个 assets.py 文件,其中包含:

我找到了一篇文章https://adambard.com/blog/fresh-flask-setup/,其中讨论了使用 bower 和 flask-assets 但从给出的示例中,我不确定如何构建“css”和 'js' 变量,因为 bower 组件包括 css 和 js 组件,例如:

在此处输入图像描述

而且我还需要一个预先存在的静态文件夹。是否需要添加每个组件js、css、sass、less的路径,还是有更简单的方法?

0 投票
1 回答
1839 浏览

python - RuntimeError:资产实例未绑定到应用程序,当前上下文中没有应用程序

在此处输入图像描述

我正在修改一个cookiecutter Flask 应用程序。我目前正在尝试将日期选择器添加到页面。我找到了https://eonasdan.github.io/bootstrap-datetimepicker/。这个 cookiecutter 使用烧瓶资产来管理项目资产。

https://adambard.com/blog/fresh-flask-setup/之后 ,我修改了 assets.py 文件:

当我这样做时,我得到:

我究竟做错了什么?

编辑:app.py 初始化资产:

0 投票
1 回答
1920 浏览

python - Flask-Assets 在本地工作,但不在 Heroku 上

我正在修改一个cookiecutter Flask 应用程序。我正在本地使用 WIN7 并尝试部署到 heroku。我目前正在尝试将日期选择器添加到页面。我找到了https://eonasdan.github.io/bootstrap-datetimepicker/。myflaskapp的结构:

在此处输入图像描述

我已经设置了 bower,通过在包含以下内容的文档根目录中使用 .bowerrc 文件,在静态根目录下安装前端依赖项:

在此处输入图像描述

这个 cookiecutter 使用烧瓶资产来管理项目资产。在https://adambard.com/blog/fresh-flask-setup/之后 ,我修改了 myflaskapp/assets.py 文件:

myflaskapp/app.py 初始化资产:

在 myflaskapp/settings.py 中,在测试期间,我设置了:

在本地,控制台中没有错误。在 heroku 上,我收到内部服务器错误。日志:

正如您在顶部屏幕截图中看到的那样,它就在那里。我怎样才能解决这个问题?

注意:我一直在查看https://github.com/mitsuhiko/flask/issues/348,这可能与此有关。

0 投票
1 回答
425 浏览

python - 烧瓶资产是否将缩小文件放在正确的目录中?

我正在修改一个cookiecutter Flask 应用程序。我在本地工作 WIN7 。

我已经设置了 bower,通过在包含以下内容的文档根目录中使用 .bowerrc 文件,在静态根目录下安装前端依赖项:

这个 cookiecutter 使用烧瓶资产来管理项目资产。在https://adambard.com/blog/fresh-flask-setup/之后 ,我修改了 myflaskapp/assets.py 文件:

调试设置设置为 false,这意味着资产应该被压缩和缩小。

在我发送请求之前:

在此处输入图像描述

后:

在此处输入图像描述

文件不应该放在 static/public/css 和 static/public/js 中吗

0 投票
1 回答
206 浏览

python - 如何在 webassets 中传递过滤器特定的配置选项

使用 我正在尝试为 webassets 中的特定过滤器传递过滤器特定配置,但到目前为止还不能这样做。

多次阅读文档无济于事。也浏览了源代码,但这也没有帮助。

规格:

  • 我尝试使用的过滤器是cleancss
  • 我试图通过的特定配置是--skip-rebase

根据上面 cleancss 文档的链接,我应该能够--skip-rebaseCLEANCSS_EXTRA_ARGS. 但我把它放在哪里?

到目前为止我已经尝试过,作为烧瓶配置变量传递:


ps:我还尝试修改源代码以检查是否将cleancss参数正确传递到命令行,并且确实如此,因此问题仅在于在应用程序配置中正确指定了选项。

0 投票
0 回答
36 浏览

javascript - 在 Flask 中,处理 __init__.py 文件中不断增长的资产

# 烧瓶新手!

我正在为 Flask 项目添加功能,它的资产使用__init__.py文件中的以下代码捆绑在一起。

我要添加更多的 javascript 文件,这会不断增长,而且我__init__.py看起来很丑。

我在 Rails 中使用 Ruby 进行了很多工作,我喜欢在那里管理资产的方式。您有一个application.js.erb文件,您可以在其中添加要包含在一个 application.js 文件中的所有 js 文件名。我也可以为这个 Flask 项目构建一个这样的结构,但我想知道是否已经有更好的方法来管理 Flask 中不断增长的资产。

0 投票
1 回答
631 浏览

python - OSError: [Errno 78] 功能未实现 Flask-Assets

使用 Flask-Assets 访问 URL 时出现以下错误,该 URL 应该呈现和缩小 css。

以下是包含 Flask-Assets 的代码

HTML

文件夹结构

4个目录,9个文件

0 投票
1 回答
751 浏览

python - Autoprefixer 过滤器在 Flask_Assets 中不起作用

我尝试按照Flask_Assets 文档中的说明让 autoprefixer 过滤器与 flask_assets 一起使用,但它似乎没有应用过滤器。这是我的代码:

我已经能够成功应用 cssmin、pyscss、uglifyjs 和 jsmin 过滤器。我还可以在命令行上运行 autoprefixer 以成功编译转换后的输出:

但是,当尝试通过 flask_assets 注册运行 autoprefixer 时,该过程既不会引发错误,也不会花费所需的时间来编译。它确实生成了输出文件,但是当我检查结果文件时,没有应用任何前缀。

更新:每当尝试为任何过滤器配置选项时,似乎都会出现此问题。我无法让 uglifyjs 接受“UGLIFYJS_EXTRA_ARGS”,也无法让 pyscss 过滤器采用使用“PYSCSS​​_STYLE”的新样式。我尝试使用 os.environ['AUTOPREFIXER_BIN'] 将这些配置设置为环境变量,并尝试通过 flask.config['AUTOPREFIXER_BIN'] 传递它们。但是在运行过滤器时没有应用任何配置设置。我也不清楚代码本身的配置选项是由 Bundle 还是 Environment 构建的。

一个 SO 帖子声称已经找到了一种使配置设置起作用的方法,但该帖子没有显示如何设置 flask_assets 以获取这些选项的整个工作流程。

也许有人可以帮助我理解我做错了什么?

0 投票
1 回答
364 浏览

python - 如何将 libsass 配置变量传递到 flask_assets 包中?

我的目标是LIBSASS_STYLE="expanded"通过flask_assets.Bundle. webassets libsass 文档说我可以做到,但没有说明如何做到。

我的基本应用控制器如下所示。

这会输出一个有效的 css 文件(这很棒),但不是我想要的格式,因为我根本不知道我可以在哪里滑动任何 libsass 选项。

非常欢迎对此问题的任何帮助。谢谢!