一部の開発者Djangoの経験
ベース
分離された開発環境をvirtualenvの使用
、トリック主に、プロジェクトの依存関係を管理する依存モジュールおよびバージョンを保存するためにピップフリーズ> requirements.txtを使用ピップ使用
gitignore.ioこのサイトは.gitignoreファイル管理コードライブラリファイルを提供して使用します
パッケージングおよび配布
Dockerfileとパッケージングや出版プロジェクトドッカー、Djangoプロジェクトは、特に簡単:
パイソンFROM:3.5
COPY ./requirements.txt / srcの
WORKDIR / srcの
ピップ-r requirements.txtのインストールを実行
COPYを。/ srcに
EXPOSE
CMD uwsgi --http: - WSGI-ファイル<パス/に/ wsgi.py>
このテンプレートは、テイクDjangoプロジェクトのDockerfile 80%であることができます。
コンフィギュレーションロギング
ドッカーと今、彼は標準出力に直接書き込まれたログファイルをあきらめました。
settings.py
...
} uwsgi Webアプリケーションの新バージョンは、内部標準出力にログ出力を収集してきた可能性があります。あなたは、収集したログを管理する必要がある場合は、その後、ドッカーロギングツールによって収集され、収集した直接ドッカーコンテナのログをすることができます。
自動テスト
、それは純粋なバックエンドのプロジェクトなので、エンジニアは自動化された独自のコードをテストすることによって検出することができます。ジャンゴ自体がテストのために良いサポートを提供し、あなたはsqliteの通じテスト・データベースを構築することができ、他のテストシステムへの依存を増加させない、メモリベースのキャッシュがあります。より効率的に開発します。
自動化されたテストコードに加えて、だけでなく、統計的なテスト・カバレッジに書き込みます。現在、我々は、イスタンブールの簡単なのNode.jsはありません正直に言うと、このツールcoverage.pyを使用している、レポート出力は、詳細なイスタンブールを読み取ることは容易ではありません。しかし、「デッドコード」をチェックするのに十分です。
HTTPのテストコード
いくつかのサードパーティ製システムのプロジェクトは、このようなマイクロチャネルの認証、支払い、テキストメッセージや他の一般的なような、よりドッキングを、必要とする、他のシステムかもしれない縦型の事業領域があります。ドッキング・インターフェイス・コードのこの部分はまた、コードがエラーに非常にやすいスクリプト言語、等の全てのPythonの後、テスト中に組み込まれるべきです。
これは、一般的にモジュールの応答モックhttpリクエストです。
定期的なタスクの
いくつかのDjangoのプロジェクトがあり、いくつかの定期的なタスクを実行する必要があります。まず第一に、全く組み込まれていない-でのLinuxのcrontab。主な問題は、多分いつか忘れて、この設定を入れ、メンテナンスのコストが高いことです。
私たちは、Djangoのコマンド機能によって、今の方法である、タイミングタスクは、コマンドにパッケージ化されます。スケジューラは、内部にこのコマンドを実行します。このように:
輸入スケジュール
django.core.management.base輸入BaseCommandのから
クラスコマンド(BaseCommand):
デフハンドル(自己、* argsを、** kwargsから):
schedule.every(45).minutes.do(do_this)
schedule.every()。 day.at('04:00' )(do_that)を行う。
しばらく真:
schedule.run_pending()
time.sleep(1)