繁体   English   中英

Django Heroku Deploy:OSError:[Errno 2]否这样的文件或目录:'/ app / {appname} / 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM