【Django】はじめてのDjangoアプリ第14回

django

PythonのWEBフレームワークDjangoを利用したアプリケーションの公式テュートリアルに沿ったWEBアプリケーション作成のメモ第14回です。

Writing your first Django app, part 8 | Django documentation
The web framework for perfectionists with deadlines.

前回は管理サイトのカスタマイズを進めました。

今回はサードパーティパッケージの導入を進めていきます。

Django Debug Toolbar インストール

Django Debug Toolbar は、Django Web アプリケーションをデバッグするための便利なツールです。これは、Jazzband 組織によって管理されているサードパーティ パッケージです。ツールバーは、アプリケーションがどのように機能するかを理解し、問題を特定するのに役立ちます。これは、現在のリクエストとレスポンスに関するデバッグ情報を提供するパネルを提供することによって実現されます。

ツールバーなどのサードパーティ アプリケーションをインストールするには、アクティブ化された仮想環境内で以下のコマンドを実行してパッケージをインストールする必要があります。これは、Django をインストールするための以前の手順と似ています。

python -m pip install django-debug-toolbar

Django と統合するサードパーティ パッケージをプロジェクトに統合するには、インストール後のセットアップが必要です。多くの場合、パッケージの Django アプリを INSTALLED_APPS 設定に追加する必要があります。一部のパッケージでは、URLconf (urls.py) への追加など、その他の変更が必要です。

Django デバッグ ツールバーにはいくつかのセットアップ手順が必要です。インストール ガイドに従ってください。サードパーティ パッケージとして Django のスケジュールに合わせて個別に変更される可能性があるため、このチュートリアルでは手順は重複しません。

インストール後、投票アプリケーションを更新すると、ブラウザ ウィンドウの右側に DjDT の「ハンドル」が表示されるはずです。これをクリックしてデバッグ ツールバーを開き、各パネルのツールを使用します。パネルに表示される内容の詳細については、パネルのドキュメント ページを参照してください。

デバッグ ツールバーには、コア Django から 2 つのものが必要です。これらは Django のデフォルトの startproject テンプレートですでに構成されているため、ほとんどの場合、これらはすでにセットアップされています。

まず、「django.contrib.staticfiles」が INSTALLED_APPS 設定にあり、正しく構成されていることを確認します。

▼「settings.py」を確認

INSTALLED_APPS = [
    # ...
    "django.contrib.staticfiles",
    # ...
]

STATIC_URL = "static/"

次に、TEMPLATES 設定に、APP_DIRS オプションが True に設定されている DjangoTemplates バックエンドが含まれていることを確認します。

▼「settings.py」を確認

TEMPLATES = [
    {
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        "APP_DIRS": True,
        # ...
    }
]

INSTALLED_APPS 設定に「debug_toolbar」を追加します。

▼「settings.py」を編集

INSTALLED_APPS = [
    # ...
    "debug_toolbar",
    # ...
]

django-debug-toolbar の URL をプロジェクトの URLconf に追加します。

▼「urls.py」を編集

from django.contrib import admin
from django.urls import include, path
from debug_toolbar.toolbar import debug_toolbar_urls

urlpatterns = [
    path("polls/", include("polls.urls")),
    path('admin/', admin.site.urls),
] + debug_toolbar_urls()

デフォルトでは、パスに __debug__ プレフィックスが使用されますが、アプリケーションの URL と衝突しない任意のプレフィックスを使用できます。

デバッグ ツールバーは、ほとんどがミドルウェアに実装されています。これを MIDDLEWARE 設定に追加します。

▼「settings.py」を編集

MIDDLEWARE = [
    # ...
    "debug_toolbar.middleware.DebugToolbarMiddleware",
    # ...
]

警告

MIDDLEWARE の順序は重要です。デバッグ ツールバー ミドルウェアをできるだけ早くリストに含める必要があります。ただし、応答のコンテンツをエンコードする他のミドルウェア (GZipMiddleware など) の後に来る必要があります。

デバッグ ツールバーは、IP アドレスが Django の INTERNAL_IPS 設定にリストされている場合にのみ表示されます。これは、ローカル開発の場合、INTERNAL_IPS に「127.0.0.1」を追加する必要があることを意味します。この設定が設定モジュールにまだ存在しない場合は、作成する必要があります。

▼「settings.py」に追記

INTERNAL_IPS = [
    # ...
    "127.0.0.1",
    # ...
]

SHOW_TOOLBAR_​​CALLBACK オプションを使用して、デバッグ ツールバーを表示するかどうかを決定するロジックを変更できます。

警告

Docker を使用している場合、ツールバーはホスト名を自動的に検索し、それを許容される内部 IP として処理しようとします。 Docker インストールでツールバーを動作させることができない場合は、debug_toolbar.middleware.show_toolbar のコードを確認してください。

http://localhost:8000/admin/ をリロード

※画面右側に Debug Toolbar が表示される

※右上の「Hide ≫」をクリックすると隠れ「DjDT」ハンドルが表示される

ある時点で、ツールバーが表示されないなどの問題が発生することがあります。この問題が発生し、自分で問題を解決できない場合は、利用できるオプションがあります。

1.問題が特定のパッケージにある場合は、パッケージのドキュメントに FAQ のトラブルシューティングがあるかどうかを確認してください。たとえば、Django デバッグ ツールバーには、トラブルシューティング オプションの概要を説明するヒント セクションがあります。

2.パッケージの問題トラッカーで同様の問題を検索します。

Django デバッグ ツールバーは GitHub にあります。

3.Django フォーラムを参照してください。

4.Django Discord サーバーに参加します。

5.Libera.chat の #Django IRC チャンネルに参加してください。

さらに多くのサードパーティ パッケージがあり、素晴らしい Django リソースである Django Packages を使用して見つけることができます。

どのサードパーティ パッケージを使用すべきかを知るのは難しい場合があります。これはあなたのニーズと目標によって異なります。場合によっては、アルファ状態のパッケージを使用しても問題ありません。また、本番環境に対応していることを確認する必要がある場合もあります。 Adam Johnson のブログ投稿では、パッケージを「よく管理されている」と判断するための一連の特性について概説しています。 Django パッケージには、パッケージの最終更新日など、これらの特性の一部に関するデータが表示されます。

アダムが投稿で指摘しているように、質問の 1 つに対する答えが「ノー」の場合、それは貢献するチャンスです。

初心者向けのチュートリアルはここで終了です。それまでの間、ここからどこに進むべきかについてのヒントを確認しておくとよいでしょう。

Python パッケージ化に精通しており、投票を「再利用可能なアプリ」に変える方法を学ぶことに興味がある場合は、上級チュートリアル: 再利用可能なアプリの書き方を確認してください。

以上です。

  • 0
  • 0
  • 0
  • 0

コメント

タイトルとURLをコピーしました