【发布时间】:2026-01-05 09:55:02
【问题描述】:
`python manage.py collectstatic Traceback (most recent call last): File "manage.py", line 21, in <module>
main() File "manage.py", line 17, in main
execute_from_command_line(sys.argv) File "/home/jet/venvfordjango/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute() File "/home/jet/venvfordjango/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/jet/venvfordjango/lib/python3.7/site-packages/django/core/management/base.py", line 328, in run_from_argv
self.execute(*args, **cmd_options) File "/home/jet/venvfordjango/lib/python3.7/site-packages/django/core/management/base.py", line 369, in execute
output = self.handle(*args, **options) File "/home/jet/venvfordjango/lib/python3.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 187, in handle
collected = self.collect() File "/home/jet/venvfordjango/lib/python3.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 104, in collect
for path, storage in finder.list(self.ignore_patterns): File "/home/jet/venvfordjango/lib/python3.7/site-packages/django/contrib/staticfiles/finders.py", line 130, in list
for path in utils.get_files(storage, ignore_patterns): File "/home/jet/venvfordjango/lib/python3.7/site-packages/django/contrib/staticfiles/utils.py", line 23, in get_files
directories, files = storage.listdir(location) File "/home/jet/venvfordjango/lib/python3.7/site-packages/django/core/files/storage.py", line 316, in listdir
for entry in os.scandir(path): FileNotFoundError: [Errno 2] No such file or directory: '/home/jet/myapp/static'`
我的 settings.py 看起来像这样
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
.......
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
# Extra places for collectstatic to find static files.
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
........
MEDIA_ROOT= os.path.join(BASE_DIR, 'media/')
MEDIA_URL= "/media/"
那么问题出在哪里?准备根据要求添加更多资源 提前致谢
【问题讨论】:
-
如果问题不清楚,我很抱歉,但我可以根据要求进一步解释
-
您已经在本地执行脚本时遇到了问题,或者您对本地路径进行了硬编码。
/home/jet不是 Heroku 提供的路径。 -
问题仍然是本地的,当我尝试使用 heroku 时它变得更糟
-
如果您使用 Heroku 标记某些内容,则期望它在本地工作。
FileNotFoundError: [Errno 2] No such file or directory: '/home/jet/myapp/static'验证它是否存在并验证您的程序有足够的权限来读取该目录。
标签: django heroku production-environment django-staticfiles collectstatic