Heroku & Django: “OSError: No such file or directory: '/app/{myappname}/static'”

后端 未结 3 1083
生来不讨喜
生来不讨喜 2020-12-23 20:13

I have a Django app on Heroku. I am having some problems with static files (they are loading in one Heroku environment but not another), so I tried the debug command recomme

相关标签:
3条回答
  • 2020-12-23 21:11

    It's looking for a folder named 'static' that's next to the settings.py, i.e. in the project folder, not at the root of the 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
    

    Note that empty folders aren't tracked by git, so you'll have to put a blank file in there if it's empty. Alternatively, remove the STATICFILES_DIRS setting until you need it.

    0 讨论(0)
  • 2020-12-23 21:13

    @joerick's answer above is the thing. However, if you do not want to place another 'static' folder (git root/{your app}/static), you might consider changing the BASE_DIR variable that is initially supplied by django-admin makeproject:

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

    which is just the (git root/) directory

    0 讨论(0)
  • 2020-12-23 21:14

    I just had this same problem, and here's the solution that worked for me:

    I changed:

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

    to:

    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, 'myappfolder/static'),
    )
    
    0 讨论(0)
提交回复
热议问题