Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
Python 希罗库;Django:“;OSError:没有这样的文件或目录:'/app/{myappname}/static'&引用;_Python_Django_Git_Heroku_Django Staticfiles - Fatal编程技术网

Python 希罗库;Django:“;OSError:没有这样的文件或目录:'/app/{myappname}/static'&引用;

Python 希罗库;Django:“;OSError:没有这样的文件或目录:'/app/{myappname}/static'&引用;,python,django,git,heroku,django-staticfiles,Python,Django,Git,Heroku,Django Staticfiles,我在Heroku上有一个Django应用程序。我在使用静态文件时遇到一些问题(它们在一个Heroku中加载,而不是在另一个Heroku中加载),因此我尝试了推荐的调试命令 这是my settings.py,与Heroku推荐的相同: import os import os.path BASE_DIR = os.path.dirname(os.path.abspath(__file__)) STATIC_ROOT = 'staticfiles' STATIC_URL = '/static/'

我在Heroku上有一个Django应用程序。我在使用静态文件时遇到一些问题(它们在一个Heroku中加载,而不是在另一个Heroku中加载),因此我尝试了推荐的调试命令

这是my settings.py,与Heroku推荐的相同:

import os
import os.path

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
无论我在Git repo中是否在根目录级别有一个“static”目录,我都会遇到这个错误(对它进行了双向测试)


有什么想法吗?

它正在查找settings.py旁边名为“static”的文件夹,即在项目文件夹中,而不是git repo的根目录下

git root/
git root/{app name}
git root/{app name}/settings.py
git root/{app name}/static/         <- this is what you're missing
git根目录/
git root/{app name}
git root/{app name}/settings.py

git root/{app name}/static/我也遇到了同样的问题,下面是对我有效的解决方案:

我改变了:

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
致:


@上面乔里克的回答是正确的。但是,如果您不想放置另一个“静态”文件夹(Git Road/{ APP }/static),您可以考虑更改Django Admin MaCudio最初提供的BaseIdir变量:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

哪个是(git root/)目录

你能发布你安装的应用程序吗?我在heroku网站上也遇到了同样的问题,唯一缺少的是一个空白的.gitignore文件!除了最后一项“或者,删除STATICFILES\u DIRS设置,直到您需要它”之外,几乎没有任何东西对我有效,这使一切工作都非常顺利。Heroku不会“收集静电”,直到那条线消失。完美的人,这就是我遇到的问题。我就是不知道该把这些该死的模板放在哪里。虽然我的路径需要向上移动一个目录:
os.path.join(BASE_DIR,../myappfolder/static')
它们都不适合我,但“myappfolder”是指你在heroku上的应用程序名,或者只是myappfolder
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'myappfolder/static'),
)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))