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超入門」を自分用にアレンジして圧縮したメモです。より詳しくはそちらの書籍をご購入下さい。
コメント