SlideShare une entreprise Scribd logo
1  sur  15
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.がつくもの
はこれを利用していている

Contenu connexe

Tendances

Blendの便利機能振り返り
Blendの便利機能振り返りBlendの便利機能振り返り
Blendの便利機能振り返り
一希 大田
 
20140517 knockoutjs hands-on
20140517 knockoutjs hands-on20140517 knockoutjs hands-on
20140517 knockoutjs hands-on
Seiji Noro
 
Webエンジニアによるスマートフォンアプリ開発
Webエンジニアによるスマートフォンアプリ開発Webエンジニアによるスマートフォンアプリ開発
Webエンジニアによるスマートフォンアプリ開発
takeuchi-tk
 
Visual studio 2013 Overview
Visual studio 2013 OverviewVisual studio 2013 Overview
Visual studio 2013 Overview
一希 大田
 
Prism for windows runtime入門
Prism for windows runtime入門Prism for windows runtime入門
Prism for windows runtime入門
一希 大田
 

Tendances (20)

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

Similaire à Djangoとは

[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
david9142
 
20130316 mix cpp-yuo
20130316 mix cpp-yuo20130316 mix cpp-yuo
20130316 mix cpp-yuo
OKUBO_Yusuke
 
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
tomotoshi
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
Hiroki Kondo
 
Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
masanori kataoka
 
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp121117 metro styleapp_templateapp
121117 metro styleapp_templateapp
Takayoshi Tanaka
 

Similaire à Djangoとは (20)

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

Dernier

物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
Michael Rada
 

Dernier (6)

Broadmedia Corporation. 240510fy2023_4q
Broadmedia Corporation.  240510fy2023_4qBroadmedia Corporation.  240510fy2023_4q
Broadmedia Corporation. 240510fy2023_4q
 
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
 
company profile.pdf
company profile.pdfcompany profile.pdf
company profile.pdf
 
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
 
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 

Djangoとは