[Blog書いた]PythonなDjangoでCMSなMezzanineをHerokuにインストールしてみた[Python]


Twitterで見かけたPythonなDjangoでCMSなMezzanineとかいうやつをHerokuとやらに適当にインストールしてみた、簡単にメモ。
いくつか見た参照元はわかんなくなった、すんません。

意味わかんなくてもインストールできて適当でも動かせるHerokuスゲぇ。

サンプルはここ
Mezzanine on Heroku | Mezzanine
http://bit.ly/QxNHqo

仮想環境を作る
% mkdir mezzanine-heroku
% cd mezzanine-heroku/
mezzanine-heroku% virtualenv –distribute -p /usr/local/bin/python .

仮想環境に入る
mezzanine-heroku% source bin/activate

必要なパッケージをpipでインストールする
(mezzanine-heroku)mezzanine-heroku% bin/pip install -U django mezzanine psycopg2 dj-database-url gunicorn

インストールしたパッケージをrequirements.txtに書き出す
(mezzanine-heroku)mezzanine-heroku% bin/pip freeze > requirements.txt
(mezzanine-heroku)mezzanine-heroku% lv requirements.txt
Django==1.4.1
Mezzanine==1.2.0
Pillow==1.7.7
bleach==1.1.4
distribute==0.6.27
dj-database-url==0.2.1
filebrowser-safe==0.2.10
grappelli-safe==0.2.7
gunicorn==0.14.6
html5lib==0.95
psycopg2==2.4.5
pytz==2012d
wsgiref==0.1.2

mezzanine-project を作成する
(mezzanine-heroku)mezzanine-heroku% source bin/activate
(mezzanine-heroku)mezzanine-heroku% mezzanine-project test_project
(mezzanine-heroku)mezzanine-heroku% cd test_project/
(mezzanine-heroku)mezzanine-heroku/test_project% ls
__init__.py fabfile.py manage.py settings.py
deploy local_settings.py requirements urls.py

settings.py の DATABASEセクションを以下に置き換える
import dj_database_url
DATABASES = {‘default’: dj_database_url.config(default=’postgres://localhost’)}

INSTALLED_APPSへgunicornを追加する
INSTALLED_APPS = (
“django.contrib.admin”,
……
#”mezzanine.accounts”,
#”mezzanine.mobile”,
“gunicorn”,
)

url.py を以下に修正する
import settings
urlpatterns = patterns(“”,
(r’^static/(?P.*)$’,
‘django.views.static.serve’,
{‘document_root’: settings.STATIC_ROOT}),)

urlpatterns += patterns(“”,
(“^admin/”, include(admin.site.urls)),

mezzanine-heroku直下にProcfileを作成する
web: python manage.py collectstatic –noinput; python manage.py run_gunicorn -b 0.0.0.0:$PORT

mezzanine-heroku直下に.gitignoreを作成する
(mezzanine-heroku)mezzanine-heroku% cat >.gitignore <<EOF
bin/
include/
lib/
*.pyc
.DS_Store
*.log
*.sqlite
*.swp
*~
*.[oa]
!lib.a
/TODO
build/
doc/*.txt
EOF

デプロイする

Gitを初期化しファイルを追加する
(mezzanine-heroku)mezzanine-heroku% git init
Initialized empty Git repository in mezzanine-heroku/.git/
(mezzanine-heroku)mezzanine-heroku% git add .
(mezzanine-heroku)mezzanine-heroku% git commit -m “Import”

heroku側にremoteを追加する
(mezzanine-heroku)mezzanine-heroku% heroku create –stack cedar

登録されたか確認してみる
(mezzanine-heroku)mezzanine-heroku% git remote show

pushする
(mezzanine-heroku)mezzanine-heroku% git push heroku master

createdbする
(mezzanine-heroku)mezzanine-heroku% heroku run python test_project/manage.py createdb –noinput

HerokuにデプロイされたAppをopenする
(mezzanine-heroku)mezzanine-heroku% heroku open

GitもHerokuもMezzanineも意味わかってないので、間違い、もっとちゃんとした方法あったら知りたいプリーズ。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中