Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
部署到Google app Engine/Cloud SDK的Django应用程序上的静态文件位置_Django_Google App Engine_Django Urls_Django Staticfiles - Fatal编程技术网

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

部署到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

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

然而,现在我的网站已经部署完毕,没有成功加载任何图像/脚本/静态文件,我无法找到合适的修复方法

我已经成功地用谷歌云创建了一个bucket,但我似乎无法创建一个指向该bucket的有效路径。我不确定html地址是否是Settings.py中路径位置的有效参数,并且无论如何将我的google cloud bucket的简单html地址替换为我的STATIC_URL参数,都无法修复该问题


是否有其他人遇到此问题,是否有人知道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')
请记住,静态目录的主要思想是将内容提供给前端,该路径中的所有资源都将公开访问更新,这就成功了,我将努力改进我的表单,清理我的脚本。非常感谢你,感谢你的帮助@如果你认为我的回答有用,请将其标记为有效和上票:)