Tech エントリー[インストール・アップグレード]
Django 製ブログツール byteflow を動く状態にしてみよう - その1
準備
Byteflow Blog Engine - Trac よりソースを入手するには、Python
製 (100% Pure Python ではないようだが) の分散バージョン管理システム Mercurial を利用しないといけない。
yum install mercurial
とかして、Mercurial をインストールして以下のようにソースを取得する。(Subversion の check out のようなもの)
hg clone http://hg.piranha.org.ua/byteflow/
セットアップ
このエントリーを書いているタイミングでは公開元のサイトが 502 エラーでアクセスできないので勘で適当にセットアップしている。
byteflow のルートディレクトリは以下のようなディレクトリ構成になっている。
byteflow
static
templates
ブログアプリの本体は byteflow/byteflow 配下っぽい。
まずは settings.py, settings_local.py.template あたりをカスタマイズ。
settings.py は TIME_ZONE と LANGUAGE くらいかな...
もしかすると static や media へのパスなんかも変更する必要があるかも (まずはローカルでテストなのでそのままやってみる)
# settings.py
TIME_ZONE = 'Asia/Tokyo'
LANGUAGE_CODE = 'ja'
本運用の時は、SECRET_KEY も変更しないといけないよ。(django-admin.py startproject dummy とかして、新しい SECRET_KEY を生成する必要がある)
次が、settings_local.py.template というローカライズ ? 向けの settings.py があったので、そちらも編集。
このあたりの使い方は一般的なのかな ?
だとしたら、TIME_ZONE とか LANGUAGE とか static, media へのパスなんかも setting_local.py に設定した方がいい気がするけど...
ファイルをリネームして
mv settings_local.py.template settings_local.py
DB 関連の設定を編集。
# settings_local.py
DATABASE_ENGINE = 'sqlite3' # variants: mysql, sqlite3
DATABASE_NAME = '/full/path/to/sqlite.db'
DATABASE_USER = ''
DATABASE_PASSWORD = ''
DEFAULT_FROM_EMAIL = 'email@example.com'
DEBUG = True
python manage.py syncdb
あっ駄目だ。
Error: Couldn't install apps, because there were errors in one or more models:
pingback: cannot import name generic
discussion: cannot import name generic
blog: cannot import name ugettext_lazy
wpimport: cannot import name databrowse
accounts: No module named pytils.translit
pytils: No module named pytils
tagging: cannot import name generic
エラーが出る。macports でインストールした python24 用の py-django-devel が 0.96 だからバージョンが古いのかなぁ ?
根拠は、エラーの内容そのままで検索した結果以下のような日記を見たから。エラーの内容はちょっと違うけど、似たようなもんだろう。
でもっていきなりハマる。
tomisima::memo
あと、このエラーメッセージは django/core/management.py に書いてあるっぽい。
1160 def _check_for_validation_errors(app=None):
1161 """Check that an app has no validation errors, and exit with errors if it does."""
1162 try:
1163 from cStringIO import StringIO
1164 except ImportError:
1165 from StringIO import StringIO
1166 s = StringIO()
1167 num_errors = get_validation_errors(s, app)
1168 if num_errors:
1169 if app:
1170 sys.stderr.write(style.ERROR("Error: %s couldn't be installed, because there were errors in your model:\n" % app))
1171 else:
1172 sys.stderr.write(style.ERROR("Error: Couldn't install apps, because there were errors in one or more models:\n"))
1173 s.seek(0)
1174 sys.stderr.write(s.read())
1175 sys.exit(1)
もとい、もしかすると追加のモジュールが必要だったのかも。確か、公開されている Trac のページに必要なモジュールについて書いてあった気がする...
pytils とか怪しいし。
でも、肝心の公式サイトが見れないので、今日はとりあえずこれで中断。
コメント (0) トラックバック (1) Atom/RSS
投稿: 2007年11月18日 16:09 / 最終更新: 2008年02月29日 13:00
» Django 製ブログツール byteflow を動く状態にしてみよう - その2
« Django で Wiki 似のプログラムを作るために



コメント (投稿する)