• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Django / Djangoでincludeを用いて、各アプリケーションに対してURLマッピングをする方法

Djangoでincludeを用いて、各アプリケーションに対してURLマッピングをする方法

1 1つのアプリケーションに対してURLマッピングする方法
2 複数のアプリケーションに対してURLマッピングする方法
3 関連記事

1つのアプリケーションに対してURLマッピングする方法

前回の記事でDjangoプロジェクトのURLマッピングについて説明した。

この記事では、include(django.urls.include)を用いて、各アプリケーションに対してURLマッピングする方法を記載する。

djangoでは、各アプリケーションのurls.pyでviewのURLマッピングを行い。プロジェクトのurls.pyで各アプリケーションのurls.pyをincludeする

実例は以下の通り

Example

  • project/urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import include #includeのインポート

urlpatterns = [
    path('admin/', admin.site.urls),
    path('app/', include('app.urls')),# URL: http://○○○.×××/app/に、appアプリケーションフォルダのurls.pyが紐づく

 

次に、アプリケーション(app)にurls.pyを作成し、以下のように記載する。

  • app/urls.py
from django.urls import path
from firstapp import views

app_name = 'app' # これは、他のテンプレートからviewを呼び出す際に用いるが、この記事では無関係
urlpatterns = [
    path('index', views.index, name='index'), #urlに/app/indexと入力するとviews.pyのindex関数が呼び出される。(nameは他のテンプレートからviewを呼び出す際に用いるが、この記事では無関係)
]

このようにすると、以下のような形で、URLマッピングされて、http://○○○.○○○.○○○/app/indexで接続すると、app内のviews.indexが実行される


 
ちなみにフォルダ構成は以下のようになっている。

 
views.pyには以下のように記述する。

  • firstapp/views.py
from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello World")

 

Djangoの実行(python manage.py runserver)して、"http://127.0.0.1:8000/app/hello"にアクセスすると以下のように表示される。

  • app/index表示結果

 

複数のアプリケーションに対してURLマッピングする方法

Djangoで複数のアプリケーションを用いて、それぞれ、のアプリケーションにURLマッピングすることも行われる。

 

これには、1つの場合と同様の方法で、プロジェクトのurls.pyのincludeを増やせばよい。

Example

  • project/urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import include #includeのインポート

urlpatterns = [
    path('admin/', admin.site.urls),
    path('app1/', include('app1.urls')),#app1に対するマッピング
    path('app1/', include('app2.urls')),#app2に対するマッピング
]

以上、includeを用いたアプリケーションのURLマッピングでした。

関連記事

現役エンジニアがDjangoに関する本を5つ紹介
現役エンジニアがDjangoに関する本を5つ紹介
WindowsでDjango、Anaconda、VSCodeのインストールとDjangoを開発する環境の構築をする
WindowsでDjango、Anaconda、VSCode…
MacでDjango、Anaconda、VSCodeのインストールとDjangoを開発する環境の構築をする
MacでDjango、Anaconda、VSCodeのインス…
DjangoのFormに初期値を設定する方法
DjangoのFormに初期値を設定する方法
DjangoでModelのsave前後で処理を行うSignalのpre_save, post_saveの使い方
DjangoでModelのsave前後で処理を行うSigna…
DjangoのModelにSlugFieldを利用する。その利用方法と
DjangoのModelにSlugFieldを利用する。その…

Primary Sidebar

人気記事

  • 1
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 2
    Python未経験だが、フリーランスの案件に採用さ…
  • 3
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

1 1つのアプリケーションに対してURLマッピングする方法
2 複数のアプリケーションに対してURLマッピングする方法
3 関連記事
StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Django講座
【Udemy】Django入門講座(0からDjangoを学習: Python講座つき)
受講生6500人ほどの人気講座。<strong>View, Template, Model, Cla...
詳細 ▶

Footer

利用規約