1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Django】アプリ別にurls.pyを分ける方法

Posted at

Djangoで開発している時にアプリが多くなると、1つのurls.pyに各ルーティングを記載していくとコードが多くなってしまいます。

この改善策として、各アプリのディレクトリにurls.pyを配置し、アプリ内のルーティングは、対象ディレクトリ内のurls.pyを使用することでルーティングを整備することができます。

そのやり方を以下に記載します

プロジェクトのurls.py

django-admin startprojectにて、作成された最初のurls.pyは、以下のように記載します

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('myapp/', include('myapp.urls')),
]

from django.urls import pathにincludeを記載します

urlpatterns内には、startappコマンドで作成したアプリ名をincludeを使用して記載します。

この場合は、myapp以降のパスがmyapp/urls.pyに記載できるようになります。

アプリ側のurls.py

django-admin startappにて作成されたディレクトリにurls.pyを作成します

そのurls.pyには、以下のように記載します

from django.urls import path
from . import views

urlpatterns = [
  path('', views.index, name='index')
]

from . import viewsは、アプリ自体のviews.pyを指します。

urlpatternsの記載は、上記の場合は、http://localhost:8080/myapp/
にアクセスすると
myappのviews.pyのindex関数が実行されるようになります

以上、アプリ別のurls.pyの記載方法でした

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?