PythonでDjangoを使ったバッチ処理

たいていのアプリにバッチは付き物なのですが、DjangoにはRailsでいうところのscript/runnerがありません。

まぁPythonでバッチ書いてそれを叩けばいいのですが、settingsの値とか、モデルデータとか、やっぱり共有したいわけですよ。

# -*- coding: utf-8 -*-
import sys
import os

sys.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です。

「PythonでDjangoを使ったバッチ処理」への1件のフィードバック