今回は、python Django開発の経験、Python Django開発における注意点とは何か、以下は実践的なケースです、見てみましょう。
私が初めて Django に出会ったのは大学 3 年生の時でした。Django を実際にプロジェクトに使用してから約 4 年になります。実は私のお気に入りは Django の ORM フレームワークです。同社のプロジェクトは前から後ろまで分かれており、バックエンドのインターフェイス開発に Django を使用するのは非常に効率的です。
ここでは、Django 開発における小さな経験をいくつかまとめます。まず最も基本的なものについて説明しましょう。
virtualenv を使用して開発環境を分離します
pip を使用してプロジェクトの依存関係を管理します (主にちょっとしたトリック)、pip freeze > を使用して依存モジュールとバージョンを保存します この Web サイトが提供する gitignore.io を使用します. gitignore ファイル管理コード ベース ファイル
パッケージ化と公開
Docker を使用したプロジェクトのパッケージ化と公開
、Django プロジェクトの Dockerfile は特に単純です: FROM python:3.5
COPY ./requirements.txt /src
WORKDIR /src
RUN pip install -r requirements.txt
COPY . /src
EXPOSE
CMD uwsgi --http :--wsgi-file<path/to/wsgi.py>
ログの設定
Dockerを使用しているため、
ログを
新しいバージョンの uwsgi では、すでに Web アプリのログを収集し、標準出力に出力できます。ログを収集および管理する必要がある場合は、Docker ログ収集ツールを使用して、Docker コンテナーのログを直接収集できます。
自動テスト
これは純粋なバックエンド プロジェクトであるため、エンジニアは自動テストを通じて独自のコードをテストできます。 Django 自体は、テスト用の優れたサポートを提供します。
sqliteを使用してテスト データベースを構築すると、テストによって他のシステムへの依存が増加することはありません。少ない労力で開発できます。 自動テスト コードを作成することに加えて、テスト カバレッジをカウントできる必要もあります。現在、coverage.py ツールを使用していますが、
node.jsの istanbul ほど使いやすくはなく、出力レポートも Istanbul ほど詳細で読みやすくはありません。ただし、「デッドコード」をチェックするのには依然として役立ちます。 http コードのテスト
一部のプロジェクトでは、WeChat 認証、支払い、SMS、その他の一般的なシステムなど、より多くのサードパーティ システムに接続する必要があり、垂直ビジネス分野では他のシステムが存在する場合もあります。結局のところ、Python はスクリプト言語であり、コードにはエラーが発生しやすいため、インターフェイスのドッキング コードのこの部分もテストに含める必要があります。
これは通常、応答モジュールを使用して http リクエストを模擬します。
時間制限付きタスク
いくつかの時間制限付きタスクを実行する必要がある Django プロジェクトがいくつかあります。まず第一に、Linux の組み込み crontab は決して使用しないでください。主な問題は、保守コストが高く、この構成はいつか忘れられる可能性があることです。
現在の方法は、Django コマンドの機能を使用して、スケジュールされたタスクをコマンドにカプセル化することです。このコマンドでスケジューラを実行します。次のようにしてください:
import schedule from django.core.management.base import BaseCommand class Command(BaseCommand): def handle(self, *args, **kwargs): schedule.every(45).minutes.do(do_this) schedule.every().day.at('04:00').do(do_that) while True: schedule.run_pending() time.sleep(1)
これについて質問がある場合は、いつでも私に質問してください。私は学習方法、体系的な学習計画、学習効率について徹底的に研究しました。これが皆さんの節約に役立つことを願っています。回り道。 Python 初心者交換グループの上位 3 つは: 463、中間の 3 つは: 024、最後の 3 つは: 091 です
これらの事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、注目してください。その他のphp中国語ウェブサイト関連記事!
関連記事:
vue CSS アニメーション image タグと view タグの間のギャップの解決策 サブコンポーネントでスロットが使用される理由 getBoundingCl の使用方法ientRect() へdivコンテナのスクロール固定を実現以上が開発で Python Django を使用した経験を要約するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。