我正在维修系统。 使用了旧的App Engine工具进行部署,但是现在已经过时了,我需要使用gcloud命令行。
但是,gcloud忽略了一个系统文件夹并部署了所有其他文件夹。
这必须发生的一个重要原因是因为他们基于node_modules开发了该系统,并且在上载之前没有构建代码。简而言之,我需要node_modules文件夹才能执行代码。
我已经禁用了.gcloudignore,但是没有任何更改。
源文件夹结构:
App Engine中的文件夹结构:
我在我的gcloud部署上运行了--verbosity = info代码,看来他们忽略了它:
我的app.yaml:
runtime: python27
api_version: 1
threadsafe: true
libraries:
- name: jinja2
version: 2.6
- name: lxml
version: 2.3
- name: pycrypto
version: 2.6
handlers:
- url: /static
static_dir: app/static
secure: always
- url: /.*
script: manage.app
secure: always
builtins:
- remote_api: on
答案 0 :(得分:0)
默认情况下,flask使用“模板”文件夹包含所有模板文件(任何纯文本文件,但通常是.html或某种模板语言,例如jinja2),并使用“静态”文件夹包含所有模板文件静态文件(即.js .css和您的图片)。
因此,理想情况下,您不应使用/ static folder
您将需要更新app.yaml以包含处理程序static_dir:静态
runtime: python27
api_version: 1
threadsafe: true
libraries:
- name: ssl
version: latest
# [START handlers]
handlers:
- url: /static
static_dir: static
- url: /.*
script: main.app
# [END handlers]
最好的使用方法是
from flask import Flask
app = Flask(__name__, static_folder='static', static_url_path='')