Django入門|新規にアプリケーションを追加(生成)する方法
- 公開日:2018/06/12
- 更新日:2020/05/04
- 投稿者:n bit
今回はDjangoに新規のアプリケーションを追加する方法を解説します。新規のアプリケーションを作成してプロジェクトファイルに登録し、問題なくプロジェクトファイルが起動できるところまで説明していきます。Django 2.0に対応しています。
この記事は約 分で読めます。(文字)
新規にアプリケーションを追加する方法
プロジェクトファイルがあるディレクトリに移動、アプリケーションの追加と登録、起動確認といった順番で解説していきます。
プロジェクトファイルがあるディレクトリに移動
ターミナルを起動してcdコマンドを使ってmanage.pyがあるプロジェクトディレクトリに移動しましょう。
$ cd /Users/xxxx/Documents/xxxx/projects_dir
現在プロジェクトのディレクトリ構造は新規のプロジェクトを作成しただけの状態です。
.
└── 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
アプリケーション「testapp」を新規作成
Djangoのプロジェクトに新しいアプリケーションを作成していきます。作成するためのコマンドは「startapp」です。
- 今回はアプリケーション名「testapp」を作成していきます。
manage.pyがあるディレクトリに移動しターミナルで次のように記述してください。
$ python manage.py startapp testapp
正しくアプリケーションが作成されればディレクトリ内の構造は以下のようになります。
.
└── 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
アプリケーション「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
]
新規に作成されたアプリケーション「testapp」のディレクトリにはurls.pyがありませんので、新規に「testapp」のディレクトリ内へurls.pyを作成します。
新規作成時、下記のコードを記述しておいてください。「app_name」のところに今回作成したアプリケーション名「testapp」を指定しておきます。
testapp > urls.py
from django.urls import path
from . import views
app_name='testapp'
urlpatterns = [
]
次にプロジェクトの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
]
新規追加したアプリケーションの起動確認
これで新規のアプリケーション追加作業完了です。runserverでプロジェクトファイルを起動してみましょう。アプリケーションの新規追加作業が問題なくできていればエラーなくプロジェクトファイルが起動します。
$ python manage.py runserver
今日の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 = [
]
プロジェクトの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
]