たいていのアプリにバッチは付き物なのですが、DjangoにはRailsでいうところのscript/runnerがありません。
まぁPythonでバッチ書いてそれを叩けばいいのですが、settingsの値とか、モデルデータとか、やっぱり共有したいわけですよ。
# -*- coding: utf-8 -*-
import sys
import ossys.path.append(“C:/works/Python”)
os.environ[‘DJANGO_SETTINGS_MODULE’] = ‘hogepj.settings’from hogepj.app.models import *
_hoge = Hoge.objects.all()
for item in _hoge:
print item.name
sys.path.appendに書くのはプロジェクトがあるフォルダです。プロジェクトフォルダは含みません。Pythonというフォルダのなかにhogepjというプロジェクトフォルダがある、という前提です。
Railsだと「Railsアプリのバッチを実行する」な感じだったのに対して、Djangoだと「バッチをDjangoアプリの一部として実行する」って感じでしょうか。
環境はPython2.5、Django1.1.1です。