スポンサーリンク

[Django 2] プロジェクトにアプリケーションを適用させる

Djangoには、プロジェクトとアプリケーションの構成があり、

プロジェクトの中に、アプリケーションが含まれてといった構成になっています。

プロジェクト、アプリケーションの作成の仕方は下記を参考にしてください。

Djangoのプロジェクトを作成する

アプリケーションの作成

 

フォルダ構成

 

上記で作ったフォルダ構成は下記の通りです。

プロジェクト名 「example」 アプリケーション名「testapp」

EXAMPLE
│  manage.py
│
├─example
│  │  settings.py
│  │  urls.py
│  │  wsgi.py
│  │  __init__.py
│  │
│  └─__pycache__
│          settings.cpython-37.pyc
│          __init__.cpython-37.pyc
│
└─testapp
    │  admin.py
    │  apps.py
    │  models.py
    │  tests.py
    │  views.py
    │  __init__.py
    │
    └─migrations
            __init__.py

 

プロジェクトにアプリケーションを適用

アプリケーションのディレクトリにhtmlやpythonファイルを使う前に、

プロジェクトがtestappというアプリケーションを持っていることを認識させる必要があります。

アプリケーションをプロジェクトに含める

アプリケーションをプロジェクトを含めて適用させるには、

example/example/settings.pyを下記のように変える必要があります。

INSTALLED_APPS = [
    'example.apps.TestappConfig', # 追加
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

上記では、testapp/apps.pyのTestappConfigクラスをINSTALLED_APPSに追加しています。

これで、exampleプロジェクトは、testappをアプリケーションと認識できます。

URLの設定

アプリケーションを作成したら、そのアプリに

urls.pyを作ってURLの管理をするのが普通です。

 

今回だとtestappフォルダ直下に、urls.pyを作ります。

testapp/urls.py サンプル

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'), # パスの追加
]

上記のtestapp/urls.py をexample/urls.pyにurlの設定に加えます。

example/urls.py

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

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

path(‘testapp/’, include(‘testapp.urls’))でtestappのurls,pyを見るようにしています。

path()の第1引数は、URLの先頭に何の文字列をつけるか、

第2引数がアプリケーションのurls.pyというように使っています。

これで基本的な準備は整いました。