如何在python flask static内部使用有角构建资源?

时间:2019-01-11 13:46:41

标签: python angular flask

我正在开发在前端使用angular7并在后端使用python flask框架的应用程序。我正在尝试进行角度构建,即dist文件夹,并根据烧瓶结构在烧瓶中进行配置。

我无法在该服务器上加载图像。 dist中的图像路径类似于dist/assets/images

flask
---app.py
---templates
   ----index.html
---static
   ---- main6gaugsx.js
   ---- runtime7gyg.js
--conf files

我试图将这些图像移动到flask的静态文件夹中。但是我无法在main6gaugsx.js中设置图像的路径,因为它是捆绑的代码。此外,图像可能会在以后增加时间点。每次部署时,我都无法更改。

2 个答案:

答案 0 :(得分:0)

  1. 请勿手动移动文件,这只会使部署过程复杂化,并且将来会成为很多问题的地方。
  2. 尝试将AngularJS输出构建目录设置为Flask应用程序的静态文件夹。通常它在webpack配置中。这将确保您不会手动管理前端构建文件,并且将确保JS和CSS文件中的相对路径都将被保留。

但是问题是add_action( 'deleted_term_relationships', 'yuor_prefix_update_delete_term_if_empty', 10, 3 ); function yuor_prefix_update_delete_term_if_empty( $object_id, $term_ids, $taxonomy ) { wp_update_term_count( $term_ids, $taxonomy ); foreach ( $term_ids as $term_id ) { $term = get_term($term_id, $taxonomy); $term_count = $term->count; if ($term_count<1) { wp_delete_term($term_id, $taxonomy); } } } 也将放置在index.html文件夹中,而不是模板文件夹中。要解决此问题,请将在创建烧瓶static期间将template_folder设置为app或将static/build放置在index.html文件夹中的任何位置。

static

答案 1 :(得分:0)

我将角度构建outputPath更改为指向静态文件夹。

    "build": {
    "builder": "@angular-devkit/build-angular:browser",
    "options": {
      "outputPath": "my-project/dist/static",// changes
      "index": "src/index.html",
      "main": "src/main.ts",
      "polyfills": "src/polyfills.ts",
      "tsConfig": "src/tsconfig.app.json",
       "assets": [
         "src/assets",
         "src/favicon.ico"
      ],
    },
.
.

    },

移动了服务文件中的构建静态文件夹,并如下更新了main.py中的static_folder和template_folder路径。

    cp -r angular/my-project/dist/static service/app 

在main.py中。

    app = Flask(__name__, static_folder='static', template_folder='static')

    @app.route('/')
    def home():
     return render_template('index.html')