私は現在、データベースにサイトにアクセスした人のIPアドレスを格納するdjangoを使用してWebサイトを開発しています。アイデアは、毎晩午前0時にウェブサイトがデータベースのすべてのアイテムについてtracerouteを完了し、pygameを使用して各ホップの地理的な場所を地図上にマップします。この地図は画像として保存され、ウェブサイトに表示されます。django __init__.pyファイルpygameコードを実行していません
現在、すべてが個別に動作する必要があります。
マイのinitの.pyファイルは現在、次のようになります。
import subprocess, sys
print "Starting scripts..."
P = subprocess.Popen([sys.executable, "backgroundProcess.py"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
print "...Scripts started"
コマンドプロンプトからこれを実行している、あるいはGUIから、それが正常に動作し、時間あればマップが正しく描画されますは正しい。しかし、Webサイトの起動時にスクリプトを実行すると、テキストが正しく印刷されます(スクリプトの開始...と...スクリプトが開始されました)が、マップは描画されません。要するに、私の質問は:djangoは .pyファイルで何ができるのか制限していますか?
Djangoはあなたが '__init __。py'ファイルに何ができるか上の任意の特定の制限を入れていません...ここでそのサブプロセスのものを必要としないが、それは次のようにスクリプトコードを持つようにPythonで非常に悪い習慣ですこれはパッケージの '__init __。py'にあります。また、私はちょうど(あなたの問題の説明から)これがDjangoまたはPygameに関係するものは何も見ません。 –
これをどうやってお勧めしますか? _init__.pyを使用して新しいマップをレンダリングするのが適切かどうかを常にチェックするスクリプトを起動するのではなく、簡単な方法がありますか? –