こんにちは、今回はdjangoの公式サイトにある「はじめての Django アプリ作成、その 1」をvenvの仮想環境で試してみました。
この記事に沿って進めると、ブラウザに文字を表示させる方法がわかります。
djangoがインストールされているか確認
$ python -m django –version
仮想環境でプロジェクトディレクトリーを作成
testdjango ユーザー名$ django-admin.py startproject mysite
$ treeで階層を確認
. ├── manage.py └── mysite ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
pollsというディレクトリを作成
$ python manage.py startapp polls
$ treeで確認
. ├── manage.py ├── mysite │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-36.pyc │ │ └── settings.cpython-36.pyc │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── polls ├── __init__.py ├── admin.py ├── apps.py ├── migrations │ └── __init__.py ├── models.py ├── tests.py └── views.py
pollsのviews.pyにコードを記述
エディターからファイルを開き記述しました。
from django.shortcuts import render # Create your views here. from django.http import HttpResponse def index(request): return HttpResponse("Hello, world. You're at the polls index.")
urls.pyを作成
ディレクトリpollsへ移動
$ cd polls
touchコマンドで、urls.pyファイルを作成
空のファイルが作成されます。
$ touch urls.py
pollsのurls.pyにコードを書く
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
mysiteのurls.pyに記述を追記する。
先ほどのpolls/urls.pyとは別のmysite/urls.pyであることにご注意ください。
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('polls/', include('polls.urls')), path('admin/', admin.site.urls), ]
公式サイトからの引用
include()
関数は他の URLconf への参照することができます。 Django がinclude()
に遭遇すると、そのポイントまでに一致した URL の部分を切り落とし、次の処理のために残りの文字列をインクルードされた URLconf へ渡します。
include()
の背景にある考えは、 URL を簡単にプラグ & プレイ可能にすることです。 polls には独自の URLconf (polls/urls.py
) を持っているので、 “/polls/” 、 “/fun_polls/” や、 “/content/polls/” といった、どんなパスルート下にも置けて、どこに置いてもきちんと動作します。
cdコマンドで上の階層に戻ります。
cd ..
サーバで実行させます。
python manage.py runserver
下記のメッセージが表示されます。
Django version 2.1, using settings ‘mysite.settings’
Starting development server at http://127.0.0.1:8000/
ブラウザからhttp://127.0.0.1:8000/pollsにアクセスして開きます。
上記のように、Hello,world. You’re at the polls index.と表示されれば成功です。
仮想環境venvで、djangoのプログラムを動かすことができました。