django簡単アプリ作成手順 ubuntu (MVCのVCのみ)

2019年5月11日

Ubuntu16.04でdjangoアプリを動作させてみます。

djangoはMVC(Model,View,Controller)モデルとして有名ですが、ここではV、Cの機能までを利用してHelloWorldを表示してみます。

ちょっとややこしいのはdjangoではViewにあたるものがTemplate、ContorllerにあたるものがViewにあたる、ということを理解する必要がありますよね。

何度もトライしては放置を繰り替えしていますので、もう一度基本手順をまとめてみます。python3やpipはインストールされているとします。

djangoインストールコマンド

$ sudo pip3 install django

djangoバージョン確認コマンド

$ python3 -m django --version

結果

2.2

とでてきます。私は過去に何度かやってますので古いバージョン 1.10.8とかになっていますので、djangoをアップデートして2.0以上にしてみます。

アップデートコマンド

$ sudo pip3 install Django -U

で2.2にアップデートされました。

次は簡単な動作確認です。djangoアプリフォルダを作ります。

$ mkdir ~/django

djangoフォルダに移動しま

$ cd django

プロジェクト作成します(プロジェクト名mysite)

$ django-admin.py startproject mysite

mysiteに移動します。

$ cd mysite

こちらのフォルダにmanage.pyファイルが存在することを確認して、プロジェクトの中にアプリを作成します(アプリ名app1)

$ python3 manage.py startapp app1

テストアプリ起動

$ python3 manage.py runserver

でローカルPCブラウザから

127.0.0.1:8000

にアクセスして以下のページが表示されればインストールOK!

djangoインストール成功

次はテンプレートHTMLを作成してHTMLを返すところまでやってみます。

まずmysite/urls.pyを編集します

from django.urls import path

from django.urls import path,include

に変更して

urlpatterns = [
path('', include('app1.urls')),
]

と設定します。次にapp1/urls.pyです。

from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]

のようにします。つぎはapp1/views.pyを編集してindex関数を定義します。

from django.shortcuts import render
from django.template import loader
from django.http import HttpResponse
 #Create your views here.
def index(request):
         template = loader.get_template('app1/index.html')
         context={}
         return HttpResponse(template.render(context, request))

次にmysite/settings.pyにapp1を追加します。

app1.apps.App1Configを追加します。

INSTALLED_APPS = [
    'app1.apps.App1Config',
    'django.contrib.admin',

最後にtemplateファイルを作成します。場所はapp1/templates/app1/index.htmlとします。中身はただのHello Worldのテキストファイルです。

Hello World

mysiteディレクトリにもどりアプリをテスト起動します。

$ python3 manage.py runserver


django_helloworld成功


ここまでたどり着くまでかなり時間かかりましたね。。