gpt4 book ai didi

python - 用于上传静态文件的 app.yaml 设置

转载 作者:行者123 更新时间:2023-11-28 17:18:25 25 4
gpt4 key购买 nike

我的 Python App Engine 网络应用程序的 app.yaml 设置遇到问题。不知何故,除了 index.html 之外,我的应用程序中的其余静态文件(javascript、CSS 和 HTML)没有部署到应用程序引擎。我在 app.yaml 的脚本下尝试了 static_filesupload 元素的各种组合。尽管它们中的一些可以在本地开发应用程序服务器上运行,但在通过 gcloud app deploy 部署在应用程序引擎上时它们无法运行。 gcloud 生成的日志没有显示任何错误。他们为我的所有静态文件显示 DEBUG 消息,例如“跳过上传 [...]”。

应用程序(它是一个 AngularJS 应用程序)的目录结构如下:

<APP ROOT>
├── app.yaml
├── my_scripts
│   ├── foo.py
│   └── ...
├── index.html
├── mainapp.py
└── web
├── assets
│   ├── css
│   │   ├── bootstrap.min.css
│   │   ├── bootstrap-theme.min.css
│   │   ├── ....
│   │   └── ....
│   └── js
│   ├── app
│   │   ├── app.js
│   │   └── ....
│   └── lib
│   └── ...
└── partials
├── login.html
└── ...

以下是我的应用程序的 app.yml 文件。

runtime: python27
api_version: 1
threadsafe: true

handlers:

- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico

- url: /(user|tasks)/.*
script: mainapp.app

- url: /
static_files: index.html
upload: index.html

- url: /web
static_files: web\/[^\n]*
upload: web\/[^\n]*

- url: /web
static_dir: web

任何能帮助我解决这个问题的建议都将不胜感激。

最佳答案

您更改了路由顺序。也就是说,/web 应该刚好在 / 处理程序之前出现,这样 GAE 路由将首先查找 /web 然后它继续对于 / (记下从上到下的顺序)。如果在 /web 之前定义 /,它总是显示 index.html 文件,因为 / 也会匹配 /web.

handlers:

- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico

- url: /(user|tasks)/.*
script: mainapp.app

- url: /web
static_dir: web

- url: /
static_files: index.html
upload: index.html

而且我希望您没有将 ^web 添加到 app.yamlskip_files 部分

关于python - 用于上传静态文件的 app.yaml 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42852298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com