部署到Google app Engine/Cloud SDK的Django应用程序上的静态文件位置
我使用最新版本的Django开发了一个网站,完成了所有的离线测试,并将其部署到Google App engine。以前,我的网站的图片和脚本位于一个名为“脚本”的文件夹中,在本地运行时我没有遇到任何问题 然而,现在我的网站已经部署完毕,没有成功加载任何图像/脚本/静态文件,我无法找到合适的修复方法 我已经成功地用谷歌云创建了一个bucket,但我似乎无法创建一个指向该bucket的有效路径。我不确定html地址是否是Settings.py中路径位置的有效参数,并且无论如何将我的google cloud bucket的简单html地址替换为我的STATIC_URL参数,都无法修复该问题部署到Google app Engine/Cloud SDK的Django应用程序上的静态文件位置,django,google-app-engine,django-urls,django-staticfiles,Django,Google App Engine,Django Urls,Django Staticfiles,我使用最新版本的Django开发了一个网站,完成了所有的离线测试,并将其部署到Google App engine。以前,我的网站的图片和脚本位于一个名为“脚本”的文件夹中,在本地运行时我没有遇到任何问题 然而,现在我的网站已经部署完毕,没有成功加载任何图像/脚本/静态文件,我无法找到合适的修复方法 我已经成功地用谷歌云创建了一个bucket,但我似乎无法创建一个指向该bucket的有效路径。我不确定html地址是否是Settings.py中路径位置的有效参数,并且无论如何将我的google cl
是否有其他人遇到此问题,是否有人知道Settings.py中static_url参数的最佳配置?还是用一种更简单的方法来设置静态文件?提前谢谢 您需要在文件上指定一个静态目录,例如:
handlers:
- url: /scripts
static_dir: scripts/
在这里,您可以找到Django和AppEngine的完整示例
请记住,静态目录的主要思想是将内容提供给前端,该路径中的所有资源都可以公开访问 如果需要访问app engine服务中的其他文件,则需要获取邮件脚本的相对目录,请尝试使用此代码
import os
dirname = os.path.dirname(__file__)
filename = os.path.join(dirname, 'relative/path/to/file/you/want')
您是否在您的实例中运行了命令
django admin collectstatic
?是的,我运行过多次,但都没有可用的更新,非常感谢您的帮助!运行collect static并重置一些参数使我的图像正确加载。我仍然无法运行脚本。这是一个有点愚蠢的问题,但我有一行代码调用我的脚本exec(open(“/static/scripts/recalculate.py”).read()),并且我不断得到错误,没有这样的文件或目录。知道我做错了什么吗?我的主要问题是,一旦部署,我不确定我的网站的根目录是什么,所以我不确定我的脚本的完整路径是什么。再次感谢您的帮助,我在这里有点力不从心。您的exec命令在python/后端端吗?我认为最好将该脚本作为模块导入,而不是使用exec读取。但是无论如何,您可以通过使用以下代码获得相对路径import os dirname=os.path.dirname(\uuuu file\uuuuu)filename=os.path.join(dirname,'relative/path/to/file/you/want')
请记住,静态目录的主要思想是将内容提供给前端,该路径中的所有资源都将公开访问更新,这就成功了,我将努力改进我的表单,清理我的脚本。非常感谢你,感谢你的帮助@如果你认为我的回答有用,请将其标记为有效和上票:)