... im Berners-Lee の優れた解説、 Cool URIs don't change を参照してください。 概要 ¶ アプリケーションのURLを設計するには、俗に URLconf (URL configuration) と呼ばれる Python モジュールを作る必要があります。このモジュールは pure Python コードであり、URLパス表 ... エストした時に、どの Python コードが実行されるかは以下のアルゴリズムで決定されます。 まず、Django は、どのモジュールをルート URLconf として使うか決定します。通常は、この値は ROOT_URLCONF に設定されています。ただし、 HttpRequest オブジェクトに urlconf とい ... う属性が設定されていた場合 ( middleware で設定されます) 、その値を ROOT_URLCONF の代わりに使います。 Django はその Python モジュールをロードして、 urlpatterns という名前の変数を探します。この変数の値は ... ... im Berners-Lee の優れた解説、 Cool URIs don't change を参照してください。 概要 ¶ アプリケーションのURLを設計するには、俗に URLconf (URL configuration) と呼ばれる Python モジュールを作る必要があります。このモジュールは pure Python コードであり、URLパス表 ... エストした時に、どの Python コードが実行されるかは以下のアルゴリズムで決定されます。 まず、Django は、どのモジュールをルート URLconf として使うか決定します。通常は、この値は ROOT_URLCONF に設定されています。ただし、 HttpRequest オブジェクトに urlconf とい ... う属性が設定されていた場合 ( middleware で設定されます) 、その値を ROOT_URLCONF の代わりに使います。 Django はその Python モジュールをロードして、 urlpatterns という名前の変数を探します。この変数の値は ... ... 用します。 reverse ( viewname , urlconf = None , args = None , kwargs = None , current_app = None , * , query = None , fragment = None ) [ソース] ¶ viewname には ... URL パターン名 またはURLconf で使用される呼び出し可能なビューオブジェクトを指定できます。たとえば、下記の url が与えられている場合を考えます。 from new ... プリケーションの名前空間を解決するためのヒントとして使用されます。これは、 名前空間化された URL の解決順序 に従っています。 urlconf 引数は、リバースに使用する URL パターンを含む URLconf モジュールです。デフォルトでは、現在のスレッドのルート URLconf が使用 ... ... 用します。 reverse ( viewname , urlconf = None , args = None , kwargs = None , current_app = None , * , query = None , fragment = None ) [ソース] ¶ viewname には ... URL パターン名 またはURLconf で使用される呼び出し可能なビューオブジェクトを指定できます。たとえば、下記の url が与えられている場合を考えます。 from new ... プリケーションの名前空間を解決するためのヒントとして使用されます。これは、 名前空間化された URL の解決順序 に従っています。 urlconf 引数は、リバースに使用する URL パターンを含む URLconf モジュールです。デフォルトでは、現在のスレッドのルート URLconf が使用 ... ... パターンは、GETやPOSTのパラメータやドメイン名にはマッチしません。例えば、 https://www.example.com/myapp/ へのリクエストでは、URLconfは myapp/ を探します。また、 https://www.example.com/myapp/?page=3 へのリクエストでも、URLconfは同様に myapp/ を探します。 v ... [ソース] ¶ include ( pattern_list ) include ( (pattern_list , app_namespace) , namespace=None ) この場所に "含める" べき他のURLconfモジュールへのフルPythonインポートパスを取る関数です。オプションで、エントリが含まれる application namespace と instance nam ... レータに加えてアプリケーションの名前空間の名前を含む 2値タプルを引数として受け入れることもできます。 パラメータ : module -- URLconf モジュール(またはモジュール名) namespace ( str ) -- インクルードされる URL エントリのインスタンス名前空間 pattern_list - ... ... パターンは、GETやPOSTのパラメータやドメイン名にはマッチしません。例えば、 https://www.example.com/myapp/ へのリクエストでは、URLconfは myapp/ を探します。また、 https://www.example.com/myapp/?page=3 へのリクエストでも、URLconfは同様に myapp/ を探します。 v ... [ソース] ¶ include ( pattern_list ) include ( (pattern_list , app_namespace) , namespace=None ) この場所に "含める" べき他のURLconfモジュールへのフルPythonインポートパスを取る関数です。オプションで、エントリが含まれる application namespace と instance nam ... レータに加えてアプリケーションの名前空間の名前を含む 2値タプルを引数として受け入れることもできます。 パラメータ : module -- URLconf モジュール(またはモジュール名) namespace ( str ) -- インクルードされる URL エントリのインスタンス名前空間 pattern_list - ... ... 本的なビューです。これにブラウザからアクセスするためには、URLにマッピングする必要があります。そのためには、URL設定、略して「URLconf」を定義する必要があります。このURL設定は、各Djangoアプリ内で定義されており、 urls.py という名前のPythonファイルです。 polls ... アプリのURLconfを定義するには、以下の内容で polls/urls.py というファイルを作成します。 polls/urls.py ¶ from django.urls import path from . ... admin.py apps.py migrations/ __init__.py models.py tests.py urls.py views.py 次のステップは、 mysite プロジェクトのルートのURLconfに、 polls.urls で定義されたURLconfを含めることです。そのためには、 mysite/urls.py で django.urls.include をインポートし、 u ... ... 本的なビューです。これにブラウザからアクセスするためには、URLにマッピングする必要があります。そのためには、URL設定、略して「URLconf」を定義する必要があります。このURL設定は、各Djangoアプリ内で定義されており、 urls.py という名前のPythonファイルです。 polls ... アプリのURLconfを定義するには、以下の内容で polls/urls.py というファイルを作成します。 polls/urls.py ¶ from django.urls import path from . ... admin.py apps.py migrations/ __init__.py models.py tests.py urls.py views.py 次のステップは、 mysite プロジェクトのルートのURLconfに、 polls.urls で定義されたURLconfを含めることです。そのためには、 mysite/urls.py で django.urls.include をインポートし、 u ... ... です。 django.contrib.staticfiles は静的アセット用で、ユーザがアップロードしたファイルに対する組み込みの処理はありませんが、 URLconf に次のような記述を追加することで、 Django に MEDIA_ROOT を配信させることができます: from django.conf import settings from ... django.urls import re_path from django.views.static import serve # ... the rest of your URLconf goes here ... if settings . DEBUG : urlpatterns += [ re_path ( r "^media/(?P<path>.*)$" , serve , { "document_root" : sett ... . MEDIA_ROOT , }, ), ] このコードは MEDIA_URL の値が 'media/' であると仮定しています。これは serve() ビューを呼び出して、 URLconf からのパスと、必須の document_root パラメータを渡します。 この URL パターンを定義するのは少し面倒なので、 Django には小さな ... ... イレクトを行うビュークラス、 TemplateView はベースビューを拡張してテンプレートレンダリングの機能をもたせたビュークラスです。 URLconfでの使用法 ¶ ジェネリックビューを使用する最もダイレクトな方法は、URLconf 内で直接オブジェクトを作成することです。クラスベース ... ws.py from django.views.generic import TemplateView class AboutView ( TemplateView ): template_name = "about.html" あとは、URLconf にこの新しいビューを追加する必要があります。 TemplateView は1つのクラスであって、関数ではありません。そのため、指定する UR ... ムとバンド幅は無駄になってしまいます。最新の本が出版された時点で API に問い合わせた方が好ましいかもしれません。 そのために、URLconf 内で、本のリストビューへの URL を次のようにマッピングします。 from django.urls import path from books.views import BookLis ... 2026年10月08日