在heroku上部署django-nvd3图表的问题

时间:2014-04-14 15:55:31

标签: django heroku npm bower nvd3.js

有没有人尝试将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作为依赖项?据我所知,我认为情况并非如此

请建议

1 个答案:

答案 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