如何使用flask_assets扩展flask中的蓝图资产?

时间:2019-09-23 13:32:34

标签: python flask flask-assets

我的应用程序是按照以下蓝图结构开发的。

├── app
│   ├── assets.py
│   ├── static
│   │   ├── gen
│   │   │   ├── assets_frontend.css
│   │   │   ├── assets_frontend.js
│   │   │   ├── home.css
│   │   │   └── home.js
│   │   ├── lib
│   │      ├── bootstrap-4.3.1
│   │      │   ├── CSS
│   │      │   │   ├── a_assets.css
│   │      │   └── js
│   │      │       ├── a_assets.js
│   │      │       
│   │      ├── jquery-3.4.1
│   │      │   └── jquery-3.4.1.min.js
│   │      └── popper.js-1.14.7
│   │          └── popper.min.js
│   │    
│   ├── templates
│   │   ├── 404.html
│   │   ├── include
│   │   └── website
│   │       └── index.html
│   └── website
│       ├── assets.py
│       ├── controllers.py
│       ├── forms.py
│       ├── __init__.py
│       ├── models.py
│       ├── static
│       │   └── src
│       │       └── CSS
│       │           └── common.css
│       └── templates
│           └── index.html
├── app.db
├── config.py
├── requirements.txt
└── run.py

asstes.py 中为所有应用添加我所有的通用资产,并在项目中进行了如下注册。


assets_frontend_js = [
    'lib/jquery-3.4.1/a_assets.js',
]
assets_frontend_css = [
    'lib/bootstrap-4.3.1/css/a_assets.css',
]
assets_bundles = {

    'assets_frontend_js': Bundle(
        *assets_frontend_js,
        output='gen/assets_frontend.js',
        filters='jsmin'),

    'assets_frontend_css': Bundle(
        *assets_frontend_css,
        output='gen/assets_frontend.css',
        filters='cssmin', extra={'rel': 'stylesheet/css'}),
}
assets = Environment(app)
assets.register(assets_bundles)

现在,问题是如何在不编辑 My_apps / assets.py 的情况下,将新应用的资产添加或注册到主要资产中。

手段是可以通过任何方法在网站应用中添加 assets.py 文件并仅注册网站资产。

我的目标是不将整个项目资产写入主项目asset.py文件,然后仅从其拥有的应用程序加载资产。

我们如何做到这些?

0 个答案:

没有答案