有没有人尝试将django-nvd3图表最近成功部署到Heroku上?我试图在整个周末使用nvd3图表将django应用程序部署到heroku而没有运气。它在我的开发环境(ubuntu)中运行得非常好。但是,当我尝试将其推送到Heroku时,我面临着各种各样的错误。
在Dev环境中我安装了npm(这包括node.js),后来安装了bower,最后安装了django-bower;正如https://github.com/areski/django-nvd3所建议的那样。我尝试了不同的图表,一切正常,没有问题
然而,当我试图将代码推送到Heroku时,我遇到了很多错误。修复一个导致其他人。我想知道,如果我需要首先添加一个package.json(列出npm依赖关系,如bower)和bower.json(将bower依赖关系,如d3,nvd3)文件添加到我的仓库?
我搜索了一些文件,提供枪支信息(django,nvd3,凉亭,npm /节点都结婚在一起),但看不到任何
注意:我将尝试发布heroku日志以获取更多信息。
bower.json给出了类似的东西:
{
"dependencies": {
"d3": "3.3.6",
"nvd3": "1.1.12-beta"
}
package.json的内容如下:
"engines": {
"node": "0.11.11",
"npm": "1.3.25"
},
"dependencies": {
"bower": "1.3.1"
}
我遇到的错误类似于:
1. gunicorn is not recognized - resolved this
2. NameError: Name 'DATABASES' is not defined in settings.py - resolved this
3. django.core.management is not found - resolved this
4. Git error: fatal: HEAD corrupted/ cannot be deployed on to heroku - resolved this
5. listening at localhost 127.0.0.1:8000 - am working on this. I think this is also to do with my DATABASES setting that is pointing at dj_database_url.config(default=['DATABASE_URL'])??
是否有成功部署到Heroku的django+nvd3charts
的Git仓库?我可以看看配置吗?
另见https://github.com/areski/django-nvd3;我没有看到这里列出的任何bower依赖项或npm依赖项,它是否像这样工作?
或者,Heroku可以在没有package.json的情况下自动安装npm / bower,也可以查看settings.py文件并查看bower依赖项,Heroku是否还需要bower.json文件才能安装这些依赖项列出d3,nvd3作为依赖项?据我所知,我认为情况并非如此
请建议
答案 0 :(得分:1)
我在这里写了一篇关于此的博文:https://mattdoesstuff.wordpress.com/2015/04/10/getting-npm-d3-nvd3-django-bower-django-bower-nvd3-and-heroku-to-play-nicely-together/
使用django-nvd3和django-bower
pip install django-nvd3 django-bower
pip freeze > requirements.txt
git add .
git commit -m "don't forget your requirements.txt!"
使用multi-buildpack
heroku config:set BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git
一起使用Node和Python buildpack
# ./.buildpacks
https://github.com/heroku/heroku-buildpack-nodejs.git
https://github.com/amanjain/heroku-buildpack-python-with-django-bower.git
使用npm下载凉亭
# ./package.json
{"private": true,"dependencies": {"bower": "1.4.1"}}
用户django-bower收集其资产
# ./bin/post_compile
# install bower components
./manage.py bower_install
告诉django在哪里找到凉亭
# settings.py
...
import os
APPLICATION_DIR = os.path.dirname(globals()['__file__'])
HEROKU = bool(os.environ.get('DATABASE_URL'))
BOWER_COMPONENTS_ROOT = os.path.join(APPLICATION_DIR, 'components')
# where to find your local bower
BOWER_PATH = '/usr/local/bin/bower'
if HEROKU:
BOWER_PATH = '/app/node_modules/bower/bin/bower'
BOWER_INSTALLED_APPS = (
'd3#3.3.13',
'nvd3#1.7.1',
)
...
<强>积分强> * http://www.rawsrc.com/using-django-bower-on-heroku/ * https://github.com/ddollar/heroku-buildpack-multi.git * https://github.com/areski/django-nvd3