AnacondaのEnviromentから(Navigatorを使って)Baseより派生させた環境を選んでterminalを起動する。そして、cdで自分のdocumentディレクトリへ移動する。
cd document
それから、djangoのプロジェクトを作成するコマンドを叩く。プロジェクト名は「project01_test」とする。
django-admin startproject project01_test
IDEのspyderに戻って[プロジェクト]から、上のコマンドで作成したディレクトリを「新規プロジェクト」として選択する。django-adminは管理者コマンドで多用する。
—
WEBサーバの起動
...とりあえず、WEBサーバを起動するにはターミナルからディレクトリに入って下記のコマンドを打つ。
cd project01_test python manage.py runserver
デフォルト設定では「http://localhost:8000/」にアクセスするとdjangoのページが見られる。Webサーバを停止したいなら(Ctrl+c)manager.pyは非常に重要なdjangoの管理系ファイルである。
・アプリケーション…djangoにおける「アプリケーション」とはMVCモデルの一連のページのことを指す。1つのプロジェクトに複数のアプリケーションが入っているイメージ。
—
アプリケーションの作成「ap_test1」を作成した。
python manage.py startapp ap_test1
ap_test1内のview.pyを下記のように編集する。
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World");
そして、urlsにルーティングに関するコードを追記します。
from django.contrib import admin
from django.urls import path
import ap_test1.views as ap_test1
urlpatterns = [
path('admin/', admin.site.urls),
path('ap_test1/', ap_test1.index),
]
これでap_test1というページが表示されるようになった。ただし、このようにページを追加するたびにurls.py(urlディスパッチャ)に記載していては板片なのでアプリケーション毎にurls.pyを作成して管理するのがふつう。ap_test1ディレクトリにurls.pyを作成して以下のように記述すること。
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
そして、大もとのprojet01_test/urls.pyの中を下記のように書き換える。
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('ap_test1/', include('ap_test1.urls') ),
]
これでアプリケーション毎にurls.pyを編集できるため大規模なプロジェクトのときには楽かも。
ちなみに、GETパラメータを受け取るには以下のようにrequest.GET[‘v’]で取得できる。view.pyを以下のように変更する。
def index(request):
if 'v' in request.GET:
result = 'get v=' + request.GET['v']
else:
result = 'error'
return HttpResponse(result)
※「http://localhost:8000/ap_test1」と「http://localhost:8000/ap_test1?v=1234」にアクセスして結果を確認
※これは「Django超入門」を自分用にアレンジして圧縮したメモです。より詳しくはそちらの書籍をご購入下さい。


コメント