【さくらVPS】【Python】Django で Web アプリを作る(Webアプリ構築編)【Part.4】

今までDjangoを動作させる環境を構築してきましたが、今回よりWebアプリケーションを作成します。

以下、今までの設定手順です。

 

【さくらVPS】【Python】Django で Web アプリを作る【Part.1】

 

【さくらVPS】【Python】Django で Web アプリを作る(Let's Encrypt SSL証明書設定)【Part.2】

 

【さくらVPS】【Python】Django で Web アプリを作る(Djangoインストール&設定)【Part.3】

 

 

 

Hello World!を表示させるWebアプリケーションを作成する

今回は、HttpResponseを利用してブラウザ上に「Hello World!」を表示させるところまで進めます。

 

ディレクトリ構成ですが、最終的に以下のようなディレクトリになります。

【さくらVPS】【Python】Django で Web アプリを作る(Webアプリ構築編)【Part.4】

 

helloworldアプリケーションを作成する

Webアプリケーション「helloworld」を作成します。

[test@SAKURA_VPS site01]$ pwd
/home/test/django/pro01/site01

[test@SAKURA_VPS site01]$ python3.6 manage.py startapp helloworld01

[test@SAKURA_VPS site01]$

 

 

views.pyを編集する

/home/test/django/pro01/site01/helloworld/views.py ファイルを編集します。

ここでは django.http モジュールから「HttpResponse」クラスをインポートします。

そしてリクエストが来たらコンテンツ(Hello World!の文字)の入った HttpResponse オブジェクトを返します。

[test@SAKURA_VPS site01]$ ls
db.sqlite3  helloworld  manage.py  site01 ← 「helloworld」ディレクトリが作成されています。
[test@SAKURA_VPS site01]$ cd helloworld
[test@SAKURA_VPS helloworld]$ ls
__init__.py  __pycache__  admin.py  apps.py  migrations  models.py  tests.py  views.py

[test@SAKURA_VPS helloworld]$ cp -ip views.py views.py_20171029 ← 編集する前にバックアップを取ります。
[test@SAKURA_VPS helloworld]$ vi views.py

from django.shortcuts import render

# Create your views here.
from django.http import HttpResponse    ← 追加
def index(request):            ← 追加
    return HttpResponse('Hello World!')    ← 追加

 

 

 

helloworld/urls.pyファイルの新規作成

/home/test/django/pro01/site01/helloworld/urls.py ファイルを新規作成します。

URLconfの設定をします。

[test@SAKURA_VPS helloworld]$ pwd

/home/test/django/pro01/site01/helloworld
[test@SAKURA_VPS helloworld]$ vi urls.py
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

 

 

site01/urls.pyファイルの修正

次に「/home/test/django/pro01/site01/site01/urls.py」を編集します。

[test@SAKURA_VPS site01]$ cd /home/test/django/pro01/site01/site01

[test@SAKURA_VPS site01]$ pwd
/home/test/django/pro01/site01/site01

[test@SAKURA_VPS site01]$ cp -ip urls.py urls.py_20171029 ← 編集する前にバックアップを取ります。
[test@SAKURA_VPS site01]$ vi urls.py
"""site01 URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/1.11/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.conf.urls import url, include
    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import include,url ← includeを追加します。
from django.contrib import admin

urlpatterns = [
    url(r'^helloworld/', include('helloworld.urls')), ← 追加します。※http://127.0.0.1:8000/helloworld にアクセスすると helloworld/urls.py が読み込まれます。
    url(r'^admin/', admin.site.urls),
]
[test@SAKURA_VPS site01]$

 

 

 

Djangoサーバーを起動する

Djangoサーバーを起動します。

[test@SAKURA_VPS site01]$ cd /home/test/django/pro01/site01

[test@SAKURA_VPS site01]$ pwd
/home/test/django/pro01/site01

[test@SAKURA_VPS site01]$ python3.6 manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

October 29, 2017 - 08:03:02
Django version 1.11.6, using settings 'site01.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[29/Oct/2017 08:03:09] "GET /helloworld HTTP/1.1" 301 0
[29/Oct/2017 08:03:09] "GET /helloworld/ HTTP/1.1" 200 12

 

 

動作確認

 

再度ローカルマシンよりブラウザを起動し「http://127.0.0.1:8000/helloworld」にアクセスをします。

下図のように「Hello World!」が表示できれば問題なく設定が出来ています。

【さくらVPS】【Python】Django で Web アプリを作る(Webアプリ構築編)【Part.4】

 

 

参考文献

今回構築したDjango環境の参考文献です。

Amazonの「Kindle Unlimited」で購入しました。

1日で理解するDjango超基礎入門

 

 

まとめ

徐々に出来上がっていくのを体感すると嬉しくなりますね。

いろいろと開発したいWebアプリがあるのでどこまでできるのか挑戦してみたいと思います。

今までのところは「PHP&Apache&MySQL」の方が圧倒的に簡単に思えますが(笑)

 

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人

コメントを残す

メールアドレスが公開されることはありません。