python - 使用 Google App Engine 部署 Django API 时访问静态文件的问题
问题描述
我schema.yml
在我的项目的静态文件夹中有文档,在开发过程中一切似乎都正常工作,但是在部署到App Engine
我得到错误之后Not Found /static/schema.yml
。我的配置如下所示。你有什么想法可能是问题的原因吗?
设置.py:
PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
STATIC_URL = '/static/'
应用程序.yaml:
runtime: custom
env: flex
entrypoint: gunicorn -b :$PORT mysite.wsgi
service: mysite-service
handlers:
- url: /static/
static_dir: static
解决方案
用于自定义环境的 Google App Engine Flex 会忽略处理程序部分。如果您将此部分添加到“app.yaml”但环境不使用,则没有问题。handlers 部分适用于Google App Engine Standard。因此,这就是为什么在 App Engine 标准环境中有效但在 App Engine flex 中无效的原因。支持处理程序的唯一语言是java,您可以找到说明可以做到这一点的文档。
但是,为了提供静态文件,您可以查看此文档,其中包含在 App Engine Flex 中配置静态文件的必要步骤。
推荐阅读
- javascript - 访问数组的子元素(Javascript)
- vb.net - 如何在VB中使用现有的文本+字符重命名文件
- python - Python - 遍历数据框行以从日期时间戳中删除时间
- html - 子菜单不会在父菜单下完全打开
- c# - Microsoft.AspNetCore.SignalR.Client 1.0.1 与 uap10.0.15063 不兼容
- r - R - facet_wrap:构面排序不正确
- python - 与天体的卷积
- r - 将因子级别与 R 中的模糊/部分字符串匹配相结合
- dart - 在 Dart 中读取多个文件
- c# - Xamarin Forms:如何使用放置在地图顶部的图像获取位置坐标