首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在heroku上部署我的django项目失败

在heroku上部署我的django项目失败
EN

Stack Overflow用户
提问于 2020-11-30 17:44:40
回答 2查看 52关注 0票数 1

我打算在heroku上部署我的django项目,但是我遇到了错误,我真的不知道该怎么做,请帮助,非常感谢你提前检查和回答!

代码语言:javascript
复制
 -----> $ python manage.py collectstatic --noinput
       Traceback (most recent call last):
         File "manage.py", line 22, in <module>
           main()
         File "manage.py", line 18, in main
           execute_from_command_line(sys.argv)
         File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
           utility.execute()
         File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
           self.fetch_command(subcommand).run_from_argv(self.argv)
         File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv
           self.execute(*args, **cmd_options)
         File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/base.py", line 371, in execute
           output = self.handle(*args, **options)
         File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 194, in handle
           collected = self.collect()
         File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 109, in collect
           for path, storage in finder.list(self.ignore_patterns):
         File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/staticfiles/finders.py", line 130, in list
           for path in utils.get_files(storage, ignore_patterns):
         File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/staticfiles/utils.py", line 23, in get_files
           directories, files = storage.listdir(location)
         File "/app/.heroku/python/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: '/tmp/build_fa7f7ad1_/static'
 !     Error while running '$ python manage.py collectstatic --noinput'.
       See traceback above for details.
       You may need to update application code to resolve this error.
       Or, you can disable collectstatic for this application:
          $ heroku config:set DISABLE_COLLECTSTATIC=1
       https://devcenter.heroku.com/articles/django-assets
 !     Push rejected, failed to compile Python app.
 !     Push failed

下面是我的django项目setting.py文件:https://github.com/wkeiss/lonelyisland/blob/master/lonelyisland/settings.py

EN

回答 2

Stack Overflow用户

发布于 2020-11-30 19:45:00

注释WhiteNoiseMiddleware并尝试以下代码

代码语言:javascript
复制
STATIC_URL = '/static/'
STATICFILES_DIRS = (
   os.path.join(BASE_DIR, 'static'),
)
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))

STATIC_ROOT = os.path.join(PROJECT_ROOT, "staticfiles")

对我来说真的很有效,你可以查看我的设置文件here

票数 0
EN

Stack Overflow用户

发布于 2020-11-30 19:57:23

我认为STATICFILES_DIRS应该包含列表而不是元组

代码语言:javascript
复制
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)

所以试着像这样改变它

代码语言:javascript
复制
STATICFILES_DIRS = [
BASE_DIR / "static",
]

你的错误即将到来,因为

代码语言:javascript
复制
STATIC_URL = '/posts/static/'

您已经在帖子下面提供了静态的URL

但是你不是用static_dirs写的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65071196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档