部署到 Google App Engine / Cloud SDK 的 Django 应用上的静态文件位置

Static File location on Django app deployed to Google App Engine / Cloud SDK

我用最新版的Django开发了一个网站,完成了所有的离线测试,部署到GoogleApp engine。以前,我网站的图像和脚本位于名为“脚本”的文件夹中,运行在本地我没有遇到任何问题。

现在我的网站已部署,但没有图像/脚本/静态文件成功加载,我无法找到合适的修复方法。

我已经成功创建了一个带有 google 云的存储桶,但我似乎无法创建到该存储桶的有效路径。我不确定 html 地址是否是 Settings.py 中路径位置的有效参数,并且无论将我的 google 云存储桶的简单 HTML 地址替换为我的 STATIC_URL参数没有解决问题。

有其他人 运行 遇到过这个问题吗?有人知道 Settings.py 中 static_url 参数的最佳配置吗?或者更简单的方法来设置静态文件?提前致谢!

您需要在 app.yaml 文件中指定一个静态目录,例如:

handlers:
- url: /scripts
  static_dir: scripts/ 

在此 github repo 您可以找到 Django 和应用引擎的完整示例

请记住,静态目录的主要思想是为前端提供内容,该路径中的所有资源都可以公开访问

如果您需要访问应用引擎服务中的其他文件,您需要获取邮件脚本的相对目录,请尝试使用此代码

import os
dirname = os.path.dirname(__file__)
filename = os.path.join(dirname, 'relative/path/to/file/you/want')