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というように使っています。
これで基本的な準備は整いました。
