我在heroku上运行django应用程序时遇到问题。它已成功部署,但是在查找各种文件时存在一些问题。
在 news.py
中BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
url_path = BASE_DIR + '/marketdata/news/'
可以在本地工作,但是当我将其部署到heroku时,它说找不到文件
异常值:[Errno 2]没有这样的文件或目录: '/app/artemis/static/marketdata/news/bloomberg_news.csv'例外 位置:save_to_csv中的/app/artemis/static/marketdata/news.py,行 16
这是我的项目结构
任何想法如何解决?任何提示将不胜感激!
编辑: 如果我在heroku上检查我的项目结构,则 news 文件夹根本不存在。这与它只包含.csv文件有关吗?
答案 0 :(得分:1)
我找到了解决我遇到的问题的方法:
python manage.py collectstatic
web: gunicorn myproject.wsgi
解决了我的问题答案 1 :(得分:-1)
如果您尚未执行此操作,请阅读并遵循步骤https://devcenter.heroku.com/articles/deploying-python
您可能有,但为以防万一,请您发布以供参考。因此,这些文件位于您的静态区域内。关于静态文件,Heroku有点有趣。我回答的另一个问题很可能与您的问题https://stackoverflow.com/a/51373830/4954874有关。
您遇到的问题是找不到文件,因为该文件位于您的静态目录中,而该目录又通过使用/static/
找到,该文件允许heroku找到它。我相信,如果您执行类似/static/marketdata/news/
的操作,它将可以正常工作。