LoginSignup
3
4

More than 3 years have passed since last update.

DjangoのURL設定

Posted at

はじめに

ここでは、djangoのURLに関する設定について解説していきます。

プロジェクトのurls.pyの設定

まず、プロジェクトディレクトリ下のurls.pyを以下のように編集します。

プロジェクト名/urls.py
from django.contrib import admin
from django.urls import path, include


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('アプリケーション名.urls')),
]

admin/となっているところは、管理画面へのURLを示しています。
その他のページについては、アプリケーションディレクトリ下のurls.pyに記載するという意味で、includeを使っています。

アプリケーションのurls.pyの設定

アプリケーションディレクトリ下にもurls.pyを作成します。
基本的には、path(URL, view関数(またはクラス), name=逆参照するときの名称)といった形でpath関数を記述します。

クラスベースビューを用いる場合

アプリケーション名/urls.py
from django.urls import path
from . import views


app_name = アプリケーション名

urlpatterns = [
    path('list/', views.SampleList.as_view(), name='app_list'),
    path('create/', views.SampleCreate.as_view(), name='app_create'),
    path('detail/<int:pk>', views.SampleDetail.as_view(), name='app_detail'),
    path('update/<int:pk>', views.SampleUpdate.as_view(), name='app_update'),
    path('delete/<int:pk>', views.SampleDelete.as_view(), name='app_delete'),
]

クラスでviewを指定する場合は、クラス名の後にas_viewメソッドを書きます。

関数ベースビューを用いる場合

アプリケーション名/urls.py
from django.urls import path
from . import views


app_name = アプリケーション名

urlpatterns = [
    path('list/', views.list_func, name='app_list'),
    path('create/', views.create_func, name='app_create'),
    path('detail/<int:pk>', views.detail_func, name='app_detail'),
    path('update/<int:pk>', views.update_func, name='app_update'),
    path('delete/<int:pk>', views.delete_func, name='app_delete'),
]

まとめ

ここでは、djangoのURL関連の設定について解説しました。
次回はテンプレートについて取り上げる予定です。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4