0
0

More than 3 years have passed since last update.

Djangoのstrartprojectと'Hello World'までの初期設定

Last updated at Posted at 2020-07-12

本記事について

Djangoを始める際に必要なコマンドを備忘録として記事に残す.
本記事では,startprojectから,runserverの実装と書くファイルの設定について一例として取り上げる.

目次

  • ディレクトリの作成(startproject)
  • アプリケーションディレクトリ及び必要フォルダの作成
  • 設定ディレクトリ上の設定
  • runserverの実行とlocalhost上に"hello world"を表示させる
  • まとめ

ディレクトリの作成(startproject)

以下のコマンドを入力し,プロジェクト用のディレクトリを作成します.

$ django-admin startproject <プロジェクト名>

既にフォルダを作成しており,その上にディレクトリを作成したい場合は以下の<プロジェクト名>の後に「.」を付ける

$ django-admin startproject <プロジェクト名> .

アプリケーションディレクトリ及び必要フォルダの作成

アプリケーションディレクトリの作成

アプリケーションディレクトリとは,models.pyやviews.pyなど,実際にアプリケーションを作成するディレクトリのことを言う.
Djangoは,デフォルトでアプリケーションディレクトリが内装されていないため,以下のコマンドで作成する必要がある.

$ python manage.py startapp <アプリケーションディレクトリ名>

<アプリケーションディレクトリ名>は自由な名でよい.

templatesディレクトリの作成

HTMLファイルを格納するフォルダを作成する.
これは設定ディレクトリやアプリケーションディレクトリと同じフォルダに作成する.

$ mkdir templates

設定ディレクトリ上の設定

templatesディレクトリとアプリケーションディレクトリの読み込み設定

設定ディレクトリ内のsettings.py上にtemplatesディレクトリとアプリケーションディレクトリを認識させる設定を追加する.

settings.py
...

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    '<アプリケーションディレクトリ名>' #この部分を追加
]

...

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR, 'templates'], #この部分を追加
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

urls.pyの作成と設定

アプリケーション上にurls.pyを作成する.
次に,設定ディレクトリ上のurls.pyとアプリケーションディレクトリ上のurls.pyをリンクさせる.
そのため,設定ディレクトリ上のurl.pyに以下のコードを加える.

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('yogaapp.urls')), #この部分を追加
]

runserverの実行とlocalhost上に"hello world"を表示させる

htmlファイルの作成

表示するhtmlファイルを,templatesフォルダ上に作成する.
ここでは簡易的に以下のindex.htmlを作成する.

index.html
Hello World

views.pyの実装

views.pyとは,サーバーとクライアント間のリクエストやリスポンスにまつわる処理を管理するファイルである.
djangoの場合,ほとんどのロジックはviews.py上に書き,他のフレームワークのようにhtmlファイル上にロジックを書くことを最小限に抑えるような仕組みとなっている.
ここでは,index.htmlを表示させるレスポンスを実装する.

views.py
from django.shortcuts import render

def example_func(request):
    return render(request, 'index.html')

urls.pyの実装

DjangoのURLディスパッチャは、URLに応じてどのようなページを表示するのかを決定する通信指令係(dispatcher)のようなものです.
アプリケーションディレクトリ上のurls.pyに以下のコードを書く.
これは'example/'のurlに移ったとき,views.pyのexample_funcを呼び出すというものである.

urls.py
from .views import example_func

urlpatterns = [
    path('example/', example_func, name='example'),
]

runserverの実行

以上のファイルの作成が完了すれば,ローカルサーバーを立ち上げ,index.htmlの画面を表示させることができる.
manage.pyファイルのあるディレクトリ上にいることを確認し,以下のコマンドを実行する.

$ python manage.py runserver

サーバが無事立ち上がった後,ブラウザでlocalhost:8000/exampleと打ち込むことで,'Hello World'が表示される.

まとめ

以上の過程により,djangoで,startprojectからrunserverの実行とhello worldの表示が可能となる.
この過程は一例に過ぎないが,Djangoのチュートリアルでよく見かける構成のプロジェクトである.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0