GAE和django:静态文件

时间:2016-01-21 15:16:07

标签: django google-app-engine

我的静态文件未送达。我已经验证了:

  • settings.STATIC_ROOT已正确定义:STATIC_ROOT = os.path.join(BASE_DIR, '..', 'collectstatic/')
  • settings.STATIC_URL已正确定义:STATIC_URL = '/static/'
  • 我完成了python manage.py collectstatic
  • 确实收集了静态文件:我的collectstatic/目录具有正确的资产
  • 我的git repo
  • 中跟踪了collectstatic/目录
  • 我已经推到了gae repo:git push google(我不确定gae是否正在使用gae repo副本进行升级,或者我的本地回购)
  • 当推到gae repo时,资产确实存在
  • 我已重新部署该应用:gcloud preview app deploy app.yaml --promote -q
  • 我的app.yaml已正确配置,如here
  • 所述

具体做法是:

handlers:
- url: /static
  static_dir: collecstatic
- url: .*
  script: myproj.wsgi.application

我仍然得到404:

https://my-site.appspot.com/static/admin/css/base.css

为什么会这样?我还能验证什么?

修改

在Google Cloud Platform的日志记录标签上,我看到了警告消息:

  

找不到处理程序引用的静态文件:   collecstatic /管理/ CSS / base.css

我会说我的所有设置都是正确的。

如何验证我的应用实例是否在正确的位置拥有正确的资源?有没有办法检查正在运行的实例的文件系统结构?

1 个答案:

答案 0 :(得分:0)

尴尬,但问题是拼写错误。我有:

handlers:
- url: /static
  static_dir: collecstatic

应该是:

handlers:
- url: /static
  static_dir: collectstatic

我会保留这个。也许可以帮助别人。