URLconfで使用するdjango.urls関数
path()
- path(route, view, kwargs=None, name=None)
urlpatterns
に含める要素を返します。 例えば:
from django.urls import include, path
urlpatterns = [
path('index/', views.index, name='main-view'),
path('bio/<username>/', views.bio, name='bio'),
path('articles/<slug:title>/', views.article, name='article-detail'),
path('articles/<slug:title>/<int:section>/', views.section, name='article-section'),
path('weblog/', include('blog.urls')),
...
]
route
引数は、URLパターンを含む文字列または gettext_lazy()( URLパターンの変換を参照)である必要があります。 文字列には、URLの一部をキャプチャし、それをキーワード引数としてビューに送信するために、山かっこ(上記の<username>
など)を含めることができます。 山かっこには、一致する文字を制限し、ビューに渡される変数のタイプを変更するコンバーター仕様([X65X] のint
部分など)を含めることができます。 たとえば、<int:section>
は10進数の文字列と一致し、値をint
に変換します。 詳細については、 Djangoがリクエストを処理する方法を参照してください。
view
引数は、ビュー関数、またはクラスベースのビューの as_view()の結果です。 django.urls.include()にすることもできます。
kwargs
引数を使用すると、ビュー関数またはメソッドに追加の引数を渡すことができます。 例については、関数を表示するための追加オプションの受け渡しを参照してください。
name
引数が役立つ理由については、 URLパターンの命名を参照してください。
re_path()
- re_path(route, view, kwargs=None, name=None)
urlpatterns
に含める要素を返します。 例えば:
from django.urls import include, re_path
urlpatterns = [
re_path(r'^index/$', views.index, name='index'),
re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),
re_path(r'^weblog/', include('blog.urls')),
...
]
route
引数は、Pythonのre
モジュールと互換性のある正規表現を含む文字列または gettext_lazy()( URLパターンの変換を参照)である必要があります。 文字列は通常、生の文字列構文(r
)を使用するため、バックスラッシュを別のバックスラッシュでエスケープする必要なしに、\d
のようなシーケンスを含めることができます。 一致が行われると、正規表現からキャプチャされたグループがビューに渡されます。グループに名前が付けられている場合は名前付き引数として、そうでない場合は位置引数として渡されます。 値は、型変換なしで文字列として渡されます。
view
、kwargs
、name
の引数は、 path()の場合と同じです。
include()
- include(module, namespace=None)
include(pattern_list)
include((pattern_list, app_namespace), namespace=None) この場所に「含める」必要がある別のURLconfモジュールへの完全なPythonインポートパスを取得する関数。 オプションで、エントリが含まれるアプリケーション名前空間およびインスタンス名前空間も指定できます。
通常、アプリケーションの名前空間は、含まれているモジュールで指定する必要があります。 アプリケーションの名前空間が設定されている場合は、
namespace
引数を使用して別のインスタンスの名前空間を設定できます。include()
は、URLパターンを返すiterable、またはそのようなiterableとアプリケーション名前空間の名前を含む2タプルのいずれかを引数として受け入れます。
他のURLconfを含めるおよび URL名前空間と含まれるURLconf を参照してください。
register_converter()
- register_converter(converter, type_name)
path() route
で使用するコンバーターを登録するための関数。
converter
引数はコンバータークラスであり、type_name
はパスパターンで使用するコンバーター名です。 例については、カスタムパスコンバーターの登録を参照してください。
URLconfで使用するdjango.conf.urls関数
static()
- static.static(prefix, view=django.views.static.serve, **kwargs)
デバッグモードでファイルを提供するためのURLパターンを返すヘルパー関数:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
url()
- url(regex, view, kwargs=None, name=None)
この関数は、 django.urls.re_path()のエイリアスです。
バージョン3.1以降非推奨:下位互換性のための django.urls.re_path()のエイリアス。
handler400
- handler400
呼び出し可能オブジェクト、またはHTTPクライアントがエラー状態を引き起こす要求とステータスコード400の応答を送信した場合に呼び出されるビューへの完全なPythonインポートパスを表す文字列。
デフォルトでは、これは django.views.defaults.bad_request()です。 カスタムビューを実装する場合は、request
およびexception
引数を受け入れ、 HttpResponseBadRequest を返すことを確認してください。
handler403
- handler403
呼び出し可能オブジェクト、またはユーザーがリソースにアクセスするために必要な権限を持っていない場合に呼び出されるビューへの完全なPythonインポートパスを表す文字列。
デフォルトでは、これは django.views.defaults.permission_denied()です。 カスタムビューを実装する場合は、request
およびexception
引数を受け入れ、 HttpResponseForbidden を返すことを確認してください。
handler404
- handler404
呼び出し可能、またはどのURLパターンも一致しない場合に呼び出されるビューへの完全なPythonインポートパスを表す文字列。
デフォルトでは、これは django.views.defaults.page_not_found()です。 カスタムビューを実装する場合は、request
およびexception
引数を受け入れ、 HttpResponseNotFound を返すことを確認してください。
handler500
- handler500
呼び出し可能、またはサーバーエラーの場合に呼び出される必要があるビューへの完全なPythonインポートパスを表す文字列。 サーバーエラーは、ビューコードにランタイムエラーがある場合に発生します。
デフォルトでは、これは django.views.defaults.server_error()です。 カスタムビューを実装する場合は、request
引数を受け入れ、 HttpResponseServerError を返すことを確認してください。