根無し草日記

好きな事についての雑記帳

Djangoの始めの一歩

pythonのwebフレームワークを学ぶための始めの一歩として こちらのサイトを参考に、PythonのwebフレームワークであるDjangoHello Worldプロジェトクを作成する。

Djangoをインストール

pipでdjangoを入れる。

>> pip install django

プロジェクトを作成

pipでdjangoをインストールした後は、任意のフォルダの下で以下のコマンドを打つ事でプロジェクトが生成される。 ,,, HelloWorld_Django/ >> django-admin startproject HelloWorldProject . ,,,

アプリケーションの追加

作成したプロジェクトの下にはHelloWorldプロジェクトが生成される。manage.pyというファイルが作成され、ここでHello Worldプロジェクトの管理が行われる。 言われるがままにコマンドを打つと下記のエラーが発生。

HelloWorld_Django/ >> python manage.py startapp hello
  File "manage.py", line 17
    ) from exc
         ^
SyntaxError: invalid syntax

似たようなトラブルはググると出て来て、pythonの2.系を使っているのが原因らしい。確かにコマンドラインのデフォルトはpython2.0系だ。特に拘るわけでは無いのでこちらのサイトを参考にpython3.0系にする。単純には出来なかったのでこちらのサイトも参考にさせて頂いた。

設定の追記

HelloWorldProject/settings.py のINSTALLED_APPSにhelloを追加する。

# Application definition

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

routesの追加

urlpatterns = [
    path('admin/', admin.site.urls),
    ## add
    path('',include('hello.urls')),
]

helloの下にurls.pyというファイルを新規作成する。

from django.urls import path
from . import views

urlpatterns = [
    path('hello',views.index),
]

helloの下のviews.pyにindex関数を定義する。

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def index(request):
    return HttpResponse("Hello World!")

マイグレーションを実施

以下のコマンドでマイグレーションを実施する。

HelloWorld_Django/ >> python manage.py migrate

migrationとは英語では移住という意味で作成したwebのデータベースの定義を自動的に作成・管理してくれる。

ローカルホストでの起動

下記コマンドを実行し、ローカルホストで起動する。

HelloWorld_Django/ >> python manage.py runserver

http://127.0.0.1:8000/helloにアクセスすることで、hello worldと表示させることが出来た。