![](/img/trans.png)
[英]OSError at / [Errno 2] No such file or directory django assets
[英]Django Heroku Deploy: OSError: [Errno 2] No Such file or directory: '/app/{appname}/assets'
我发现了类似的问题,但它们来自几年前,而解决方案迄今尚未奏效。
这是回溯:
(devtm) λ heroku run python manage.py collectstatic
Running python manage.py collectstatic on ⬢ {appname}... up, run.1335 (Free)
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 356, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
output = self.handle(*args, **options)
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 199, in handle
collected = self.collect()
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 115, in collect
for path, storage in finder.list(self.ignore_patterns):
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 112, in list
for path in utils.get_files(storage, ignore_patterns):
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/utils.py", line 28, in get_files
directories, files = storage.listdir(location)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/files/storage.py", line 397, in listdir
for entry in os.listdir(path):
OSError: [Errno 2] No such file or directory: '/app/{appname+"site"}/assets'
这是我的settings.py:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, '../{appname+"site"}/assets'),
os.path.join(BASE_DIR, '../{appname+"site"}/assets/css'),
os.path.join(BASE_DIR, '../{appname+"site"}/assets/images'),
os.path.join(BASE_DIR, '../{appname+"site"}/assets/js'),
os.path.join(BASE_DIR, '../{appname+"site"}/assets/venue_images')
)
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
我尝试将一个名为staticfiles
的目录(git的空白文件) staticfiles
到我的根目录(因此,在manage.py
文件旁边)。 我尝试在具有settings.py
文件的文件夹中添加一个名为assets
的文件夹/文件,该文件似乎是回溯指示错误的地方。 我还尝试了没有..
部分和../{appname}+"site"
部分的路径。
这是我第一次在Heroku上启动Django网站的尝试,而我为此付出了一个多星期的努力。 我已经阅读了大量的文档和SO帖子,但是还无法查明问题所在。
您的字符串未根据输出进行操作。 他们被引用。 请尝试在适用的地方进行更改,例如:注意:如果它是变量或文字,我不知道appname是什么。
尝试将以下语句以及其他类似于os.path.join(BASE_DIR,'../{appname+"site"}/assets/css')的语句更改为:os.path.join(BASE_DIR,'../{appname' +'site'+'} / assets / css');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.