django簡単アプリ作成手順 ubuntu (MVCのVCのみ)
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!
次はテンプレート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
ここまでたどり着くまでかなり時間かかりましたね。。