SlideShare a Scribd company logo
Djangoとは?
無料で公開されているPythonを使用した
Webアプリケーションフレームワーク
*Webアプリケーションフレームワーク:
Web対応のアプリケーション構築を早く簡単に開発する枠組み
フレームワークとはWebサイトなどの製作時に毎回必要となる同じ仕組
みを形式化して手間を省くもの
アプリの製作者はDjangoの形式を
使って中身をつくるだけでよくなる!!
*
1
Djangoの基本的な仕組み:MVT
ユーザー
views.py
models.py
2
データを整理して渡す
操作
データを引き出す
見せ方を決める
見せる
必要なデータを伝える
DB
命令
Model
View
Template
の頭文字
template
urls.py
forms.py
*注意点
ほかのフレームワークにはMVC(Model
View Controlar)という似た概念が適用さ
れている場合もあるが、MVTのViewと
MVCのViewは役割が大きく変わるので、
異なるフレームワークに馴染みのある人
と連携をとるときは注意が必要である。
3
目次(ディレクトリ構造)
4
project file
website
views.py
urls.py
forms.py
template
models.py p.5~7
p.8~10
p.11
p.12~13
p.14~15
models.pyの役割
5
テンプレートに応じて
・データベースから引き出すべきデータ(プロパティ)
・そのデータを整理する処理方法(メソッド)
を指定する
models.pyの基本構成
冒頭にfrom django.db import modelsを書く。
データのテーブル(オブジェクト)を追加したいときは
models.pyに以下のように記述していく
6
class TEST:
TEST_id=models.CharField(max_length=200)
・
・
・
def __unicode__ (self):
return self.TEST_id
・
・
文字列の最大の長さ
データフィールド(型)
テーブル名
(オブジェクト名)
返す(写す)メソッドもともとの文字列を示す
プロパティ
メソッド
カラム名
Djangoの形式でモデ
ルを作るためのもの
models.pyの注意点
*テーブル名について
実際にデータベースに作成されるテーブルは、アプリ名_モデル名 となる
前ページを例にすると、
class TEST → website_TEST(アプリ名がwebsiteの場合)
*カラムについて
models.pyのテーブル内で、データフィールドがforeignkeyのカラムはカラ
ム名の最後に_idがなくてはならない。ない場合、実際にデータベースに作成
されるときにカラム名に_idが追加される。
7
views.pyの役割
テンプレートから受け取ったリクエスト
に応じてモデルから整理された情報を引
き出し、テンプレートへ貼り付ける
(いわゆるコントローラー)
8
views.pyの基本構成
他と同様、冒頭に必要に応じてモジュールを
インポートする
(主に次のモジュール)
9
from django.shortcuts import render
from . import forms
from .models import
from django.http import HttpResponse, Http404
renderを使うため
HttpResponseや
Http404を使うため
models.pyを
参照するため
forms.pyを参
照するため
10
次に、命令(おもにURL)に応じたmodels.pyとのやりとり
を下のように記述していく
(下記はrenderによって返り値を出す例)
def test (request,x):
render(request,’website/test.html,{hennsuu:x})
()内に引数を書く
xのようにURLによってrequest以外の引数
を複数とることもあるが、ないことが多い
{}内は空の
こともある
変数変数名templateファイル名
上の例の場合、testというviewは、test.htmlというhtmlの
templateファイルの中のhennsuuという名前の変数にxとい
う変数をいれた文書を表示するということを決めている。
templateについて
主にviewやmodelから送られてきたデータを
ユーザーが見やすいように表示する役割を
果たす。
構成は基本的にHTMLで書かれていて、view
で処理すべき変数は{{}}で挟まれている。
11
urls.pyの役割
Djangoで読み取ったURLに応じて、どの
viewにリクエストを送ればよいかを決める
*
*viewについては6~7ページを参照
12
urls.pyの基本構成
冒頭にfrom django.conf.urls import include, urlを書く。
さらに、urls.pyにあるurlpatterns=[]のかっこの中に次のよ
うな文を羅列していく
① ② ③
Djangoの
URL(http://127.0.0.1:8000/)
に続く文字列について、^で
開始を、$で終了を指定する
①で指定したURLを読み
込んだとき、どのviewに
リクエストを送るかを決
める
②で決めたview
の名前を示す。
url(r'^test/$', views.test, name='test'),
この例では http://127.0.0.1:8000/test/ を読み込んだときview.testで
定義されたtestという名前のviewをリクエストすることを決定している!
13
DjangoのURL
の仕組みを使
うためのもの
forms.pyの役割
何度も使うデータの種類と形式をひとつ
のフォームとして記述しておくファイル
14
入力したデータが正しいデータである
かの判別や、ウェブサイト上でデータ
を追加、削除できるようになる!
forms.pyの基本構成
class kurasumei(forms.Form):
hennsuumei=forms.Charfield()
label=rearmed
max_length=200
required=True,
widget=forms.TextInput()
15
冒頭にfrom django import formsを書く。
フォームを作成するにはその下に次のように記述していく
文字列の最
大の長さ
ラベル名
変数名
クラス名
Djangoの形式でformを使う
ためのモジュール
下の文でforms.がつくもの
はこれを利用していている

More Related Content

PPTX
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
PDF
PDF
第1回 CMS Fun Nagoya - Movable Typeの紹介-
PPTX
KnockoutJSを使用したアプリケーションの構築例
PDF
20121215 ono
PDF
GUI アプリケーションにおける MVC
ODP
MVC の Model を考える
PDF
作って分かるKnockoutJS@ALM11月
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
第1回 CMS Fun Nagoya - Movable Typeの紹介-
KnockoutJSを使用したアプリケーションの構築例
20121215 ono
GUI アプリケーションにおける MVC
MVC の Model を考える
作って分かるKnockoutJS@ALM11月

What's hot (20)

PPTX
Blendの便利機能振り返り
PDF
MvcのFatモデルに立ち向かう
PPTX
Windows ストア アプリの上手な作り方
KEY
やはりお前らのMVCは間違っている
PDF
Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~
PDF
ブラック企業から学ぶMVCモデル
PPTX
20140517 knockoutjs hands-on
PDF
Knockout.js を利用したインタラクティブ web アプリケーション開発
PDF
Blazor 触ってみた
PDF
Microsoft Edge 最新アップデートとこれから
PPTX
Webエンジニアによるスマートフォンアプリ開発
PDF
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
PPTX
簡単AngularJS(関西AngularJS勉強会)
PDF
JS で Bot つくろうぜ! ~刮目せよ!、これがMSのBot Framewok だ!!~
PDF
高品質な Teams アプリを開発するためのポイント
PPTX
20121215
PPTX
20100218
PPTX
Visual studio 2013 Overview
PPTX
Prism for windows runtime入門
PPTX
Net core3.0とWPF
Blendの便利機能振り返り
MvcのFatモデルに立ち向かう
Windows ストア アプリの上手な作り方
やはりお前らのMVCは間違っている
Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~
ブラック企業から学ぶMVCモデル
20140517 knockoutjs hands-on
Knockout.js を利用したインタラクティブ web アプリケーション開発
Blazor 触ってみた
Microsoft Edge 最新アップデートとこれから
Webエンジニアによるスマートフォンアプリ開発
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
簡単AngularJS(関西AngularJS勉強会)
JS で Bot つくろうぜ! ~刮目せよ!、これがMSのBot Framewok だ!!~
高品質な Teams アプリを開発するためのポイント
20121215
20100218
Visual studio 2013 Overview
Prism for windows runtime入門
Net core3.0とWPF
Ad

Similar to Djangoとは (20)

PDF
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
PPTX
20130316 mix cpp-yuo
PPTX
MVVM入門
PDF
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
PPTX
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
PDF
SpringBoot開発の基本
PDF
Intalio japan special cloud workshop
PPTX
2012 05-19第44回cocoa勉強会発表資料
PDF
ASP.NET MVC 2 ~新機能の紹介~
PDF
Angular 4がやってくる!? 新機能ダイジェスト
KEY
スマートフォンアプリケーション開発の最新動向
PDF
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
PPT
T35 ASP.NET MVCを使ったTDD入門
PPT
Separate Model from Catalyst
PDF
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
PDF
Agileツール適合化分科会(構成管理・ビルドツール)
PPTX
121117 metro styleapp_templateapp
PPT
20021007
PPTX
今から始める、Windows 10&新.NETへの移行戦略
PDF
MvvmCross 入門
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
20130316 mix cpp-yuo
MVVM入門
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
SpringBoot開発の基本
Intalio japan special cloud workshop
2012 05-19第44回cocoa勉強会発表資料
ASP.NET MVC 2 ~新機能の紹介~
Angular 4がやってくる!? 新機能ダイジェスト
スマートフォンアプリケーション開発の最新動向
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
T35 ASP.NET MVCを使ったTDD入門
Separate Model from Catalyst
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
Agileツール適合化分科会(構成管理・ビルドツール)
121117 metro styleapp_templateapp
20021007
今から始める、Windows 10&新.NETへの移行戦略
MvvmCross 入門
Ad

Recently uploaded (10)

PDF
西都 採用サイト掲載用ピッチ資料 | 安心して働ける環境と成長できるキャリアパス
PDF
【会社紹介資料】株式会社スキルアップ ~エンジニア第一主義!収入・働きやすさ・成長機会でトップクラスを目指す~ 高収入を実現する還元モデル × 自分で選べ...
PDF
東京商工会議所荒川支部で中小企業講演「今日から使える!省力化・効率化に向けた生成AI活用入門」
PDF
【QYResearch】世界製薬業界の市場変革と将来展望における多角的な事業展開の探求
PPTX
データサイエンス研修提案資料 RIZAPビジネスイノベーション株式会社.pptx
PDF
受発注バスターズ説明資料  (2025_08_13~) Saleshub掲載用.pdf
PDF
sustainability_MSOLサステナビリティレポート_202508_日本語版_完成版.pdf
PDF
2508_ インパクトレポート会社概要_雨風太陽
PDF
【2507】インパクト共創室実績
PDF
世界化学品産業の市場動向と将来展望に関する包括的な調査研究 QYResearch
西都 採用サイト掲載用ピッチ資料 | 安心して働ける環境と成長できるキャリアパス
【会社紹介資料】株式会社スキルアップ ~エンジニア第一主義!収入・働きやすさ・成長機会でトップクラスを目指す~ 高収入を実現する還元モデル × 自分で選べ...
東京商工会議所荒川支部で中小企業講演「今日から使える!省力化・効率化に向けた生成AI活用入門」
【QYResearch】世界製薬業界の市場変革と将来展望における多角的な事業展開の探求
データサイエンス研修提案資料 RIZAPビジネスイノベーション株式会社.pptx
受発注バスターズ説明資料  (2025_08_13~) Saleshub掲載用.pdf
sustainability_MSOLサステナビリティレポート_202508_日本語版_完成版.pdf
2508_ インパクトレポート会社概要_雨風太陽
【2507】インパクト共創室実績
世界化学品産業の市場動向と将来展望に関する包括的な調査研究 QYResearch

Djangoとは