2012-02-13 3 views
6

私はmongoengineを使用しており、設定後にconnect()を実行したいと考えています(as suggested in its docsではありません)。これは、実際には、すべての設定がロードされた直後にコードを実行する一般的な質問によく似ています。Django設定の直後に起動コードを実行していますか? (コマンドの場合もあります)

更新:管理コマンドの解決策も必要です。一般的なアプローチは、例外MiddlewareNotUsedを持つミドルウェアを追加すること、またはルートurls.pyにコードを追加することですが、どちらもコマンドでは機能しません。

+3

これは役に立ちますか? http://stackoverflow.com/questions/2781383/where-to-put-django-startup-code – ustun

+0

@ustun、あなたが答えとしてあなたのコメントをすることができれば、私はそれを受け入れます。 – Andrei

+1

それが役立つはず、次の質問を見てみましょう: http://stackoverflow.com/questions/2781383/where-to-put-django-startup-code – ustun

答えて

5

スタートアップのようなコードの通常の場所は、urls.pyにあります(設定が既にロードされている必要がある場合)。 Djangoはまだこれのために良い場所を持っていません。

(2011年にgsocの学生がやった "app refactor"ブランチがありますが、これはまだコアdjangoに統合されませんでした。この "app refactor"にはあなたの問題に対する解決策が含まれていますが、助けてください...)

あなたは管理コマンドもそれを必要としていると言います。それはあなた自身の管理命令ですか?そこにurls.pyをインポートすることを止めるものはありませんか?

このは、です。悲しいことに、少数の長所の弱点です。幸いにもそれほど多くはありません:-)

関連する問題