Django入門|新規にアプリケーションを追加(生成)する方法のイメージ画像

Django入門|新規にアプリケーションを追加(生成)する方法

  • 公開日:2018/06/12
  • 更新日:2020/05/04
  • 投稿者:n bit

今回はDjangoに新規のアプリケーションを追加する方法を解説します。新規のアプリケーションを作成してプロジェクトファイルに登録し、問題なくプロジェクトファイルが起動できるところまで説明していきます。Django 2.0に対応しています。

  • Python
  • Django

この記事は約 5.4 分で読めます。(3211文字)

新規にアプリケーションを追加する方法

プロジェクトファイルがあるディレクトリに移動、アプリケーションの追加と登録、起動確認といった順番で解説していきます。

プロジェクトファイルがあるディレクトリに移動

ターミナルを起動してcdコマンドを使ってmanage.pyがあるプロジェクトディレクトリに移動しましょう。

$ cd /Users/xxxx/Documents/xxxx/projects_dir 
Bash

現在プロジェクトのディレクトリ構造は新規のプロジェクトを作成しただけの状態です。

.
└── project
    ├── db.sqlite3
    ├── manage.py
    └── project
        ├── __init__.py
        ├── __pycache__
        │   ├── __init__.cpython-38.pyc
        │   ├── settings.cpython-38.pyc
        │   └── urls.cpython-38.pyc
        ├── asgi.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py
Bash

アプリケーション「testapp」を新規作成

Djangoのプロジェクトに新しいアプリケーションを作成していきます。作成するためのコマンドは「startapp」です。

  • 今回はアプリケーション名「testapp」を作成していきます。

manage.pyがあるディレクトリに移動しターミナルで次のように記述してください。

$ python manage.py startapp testapp
Bash

正しくアプリケーションが作成されればディレクトリ内の構造は以下のようになります。

.
└── project
    ├── db.sqlite3
    ├── manage.py
    ├── project
    │   ├── __init__.py
    │   ├── __pycache__
    │   │   ├── __init__.cpython-38.pyc
    │   │   ├── settings.cpython-38.pyc
    │   │   ├── urls.cpython-38.pyc
    │   │   └── wsgi.cpython-38.pyc
    │   ├── asgi.py
    │   ├── settings.py
    │   ├── urls.py
    │   └── wsgi.py
    └── testapp
        ├── __init__.py
        ├── admin.py
        ├── apps.py
        ├── migrations
        │   └── __init__.py
        ├── models.py
        ├── tests.py
        └── views.py
Bash

アプリケーション「testapp」がプロジェクトディレクトリーの直下に新規で作成されていることが確認できましたらsettings.pyに新しく作成したアプリケーション「testapp」を登録してください。

settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'testapp', # testapp
]
Python

新規に作成されたアプリケーション「testapp」のディレクトリにはurls.pyがありませんので、新規に「testapp」のディレクトリ内へurls.pyを作成します。

新規作成時、下記のコードを記述しておいてください。「app_name」のところに今回作成したアプリケーション名「testapp」を指定しておきます。

testapp > urls.py

from django.urls import path
from . import views

app_name='testapp'
urlpatterns = [
    
]
Python

次にプロジェクトのurls.pyに、先ほど作成したアプリケーション「testapp」のurls.pyをインクルードします。

urlpatterns内の1番下の行に下記のように一行追加してください。

  • includeもインポートしておきましょう。

urls.py

from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    ・
    ・
    ・
    path('testapp/', include('testapp.urls')), # app:testapp testapp/urls.py include
]
Python

新規追加したアプリケーションの起動確認

これで新規のアプリケーション追加作業完了です。runserverでプロジェクトファイルを起動してみましょう。アプリケーションの新規追加作業が問題なくできていればエラーなくプロジェクトファイルが起動します。

$ python manage.py runserver
Bash

今日のdot

Django2.0からurls.pyのインクルード等に関する指定方法が変わりましたので気をつけましょう。

Django2.0から変更になったurls.pyの指定方法

アプリケーション「testapp」のはurls.pyに「app_name」を記述し、アプリケーション名「testapp」を指定してます。

testapp > urls.py

from django.urls import path
from . import views

app_name='testapp'
urlpatterns = [
    
]
Python

プロジェクトのurls.pyでは、「include('testapp.urls')」の様に

  • include('アプリケーション名.urls')

と記述します。

urls.py

from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    ・
    ・
    ・
    path('testapp/', include('testapp.urls')), # app:testapp testapp/urls.py include
]
Python