Skip to content

Instantly share code, notes, and snippets.

@abhiomkar
Created September 16, 2011 20:10
Show Gist options
  • Save abhiomkar/1223018 to your computer and use it in GitHub Desktop.
Save abhiomkar/1223018 to your computer and use it in GitHub Desktop.
Deploy Django to Heroku (On Mac OS X). Please refer: http://blog.abhiomkar.in/2011/09/17/deploying-django-on-heroku-mac-os-x/
mkdir heroku-django
cd heroku-django
virtualenv --no-site-packages .
source bin/activate
bin/pip install django
env ARCHFLAGS="-arch i386 -arch x86_64" bin/pip install psycopg2
bin/pip install django-sentry
bin/pip freeze > requirements.txt
bin/django-admin.py startproject django_project
cat >.gitignore <<EOF
bin/
include/
lib/
EOF
cat >> django_project/settings.py <<EOF
INSTALLED_APPS = INSTALLED_APPS + (
'django.contrib.admin',
'django.contrib.admindocs',
'indexer',
'paging',
'sentry',
'sentry.client',
)
MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + (
'sentry.client.middleware.Sentry404CatchMiddleware',
)
EOF
cat > Procfile <<EOF
web: bin/python django_project/manage.py runserver 0.0.0.0:\$PORT --noreload
worker: bin/python django_project/manage.py celeryd -E -B --loglevel=INFO
EOF
cat >> django_project/urls.py <<EOF
urlpatterns += patterns('',
url(r'^sentry/', include('sentry.urls')),
)
from django.contrib import admin
admin.autodiscover()
urlpatterns += patterns('',
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
)
EOF
git init
git add .
git commit -m 'initial commit'
heroku create --stack cedar
# vivid-water-6038 is your app name like in http://vivid-water-6038.heroku.com
heroku run bin/python django_project/manage.py syncdb --app vivid-water-6038
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment