Submit Search
Upload
Djangoフレームワークの紹介
•
7 likes
•
7,255 views
Shinya Okano
Follow
OSC 北海道 2016 で使った資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 42
Download now
Download to read offline
Recommended
Djangoのススメ
Djangoのススメ
Alisue Lambda
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発
Kenjiro Kubota
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
Recommended
Djangoのススメ
Djangoのススメ
Alisue Lambda
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発
Kenjiro Kubota
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
Yoshitaka Kawashima
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
Kenjiro Kubota
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
個人のタスク管理からチケット駆動開発の特徴を考える
個人のタスク管理からチケット駆動開発の特徴を考える
Makoto SAKAI
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
Shigenori Sagawa
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
Yoshiiro Ueno
オブジェクト指向アンチパターンを考えてみた
オブジェクト指向アンチパターンを考えてみた
Takuya Kawabe
GoによるiOSアプリの開発
GoによるiOSアプリの開発
Takuya Ueda
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
An other world awaits you
An other world awaits you
信之 岩永
Linqの速度測ってみた
Linqの速度測ってみた
Core Concept Technologies
Pythonとパッケージングと私
Pythonとパッケージングと私
Atsushi Odagiri
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
Laravelを用いたゲームサーバーのチューニング
Laravelを用いたゲームサーバーのチューニング
NOW PRODUCTION
Djangoフレームワークの紹介
Djangoフレームワークの紹介
Shinya Okano
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Akira Inoue
More Related Content
What's hot
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
Yoshitaka Kawashima
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
Kenjiro Kubota
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
個人のタスク管理からチケット駆動開発の特徴を考える
個人のタスク管理からチケット駆動開発の特徴を考える
Makoto SAKAI
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
Shigenori Sagawa
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
Yoshiiro Ueno
オブジェクト指向アンチパターンを考えてみた
オブジェクト指向アンチパターンを考えてみた
Takuya Kawabe
GoによるiOSアプリの開発
GoによるiOSアプリの開発
Takuya Ueda
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
An other world awaits you
An other world awaits you
信之 岩永
Linqの速度測ってみた
Linqの速度測ってみた
Core Concept Technologies
Pythonとパッケージングと私
Pythonとパッケージングと私
Atsushi Odagiri
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
Laravelを用いたゲームサーバーのチューニング
Laravelを用いたゲームサーバーのチューニング
NOW PRODUCTION
What's hot
(20)
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
個人のタスク管理からチケット駆動開発の特徴を考える
個人のタスク管理からチケット駆動開発の特徴を考える
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
PHP AST 徹底解説
PHP AST 徹底解説
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
オブジェクト指向アンチパターンを考えてみた
オブジェクト指向アンチパターンを考えてみた
GoによるiOSアプリの開発
GoによるiOSアプリの開発
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
An other world awaits you
An other world awaits you
Linqの速度測ってみた
Linqの速度測ってみた
Pythonとパッケージングと私
Pythonとパッケージングと私
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Laravelを用いたゲームサーバーのチューニング
Laravelを用いたゲームサーバーのチューニング
Similar to Djangoフレームワークの紹介
Djangoフレームワークの紹介
Djangoフレームワークの紹介
Shinya Okano
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Akira Inoue
Python東海GAEやってみた
Python東海GAEやってみた
Mori Shingo
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
Titanium Mobile
Titanium Mobile
Naoya Ito
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ
Developers Summit
Introduction of Python
Introduction of Python
Tomoya Nakayama
Teclab3
Teclab3
Eikichi Yamaguchi
AndroidでDIxAOP
AndroidでDIxAOP
nfc research
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Yuki Higuchi
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
Mongo db使ってみよう
Mongo db使ってみよう
Oda Shinsuke
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
Pythonで始めるtoC向けWebサービス入門
Pythonで始めるtoC向けWebサービス入門
創史 花村
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
cmutoh
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
kenjis
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010
Takashi EGAWA
CEDEC 2013 Unity on Windows 8
CEDEC 2013 Unity on Windows 8
Akira Onishi
はじめてのAndroid in 高知
はじめてのAndroid in 高知
hiro nemu
Similar to Djangoフレームワークの紹介
(20)
Djangoフレームワークの紹介
Djangoフレームワークの紹介
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Python東海GAEやってみた
Python東海GAEやってみた
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
Titanium Mobile
Titanium Mobile
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ
Introduction of Python
Introduction of Python
Teclab3
Teclab3
AndroidでDIxAOP
AndroidでDIxAOP
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Mongo db使ってみよう
Mongo db使ってみよう
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Pythonで始めるtoC向けWebサービス入門
Pythonで始めるtoC向けWebサービス入門
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010
CEDEC 2013 Unity on Windows 8
CEDEC 2013 Unity on Windows 8
はじめてのAndroid in 高知
はじめてのAndroid in 高知
More from Shinya Okano
Djangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHue
Shinya Okano
Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証
Shinya Okano
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
Shinya Okano
Djangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組み
Shinya Okano
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
Shinya Okano
Python札幌201406
Python札幌201406
Shinya Okano
Spring4Dの紹介
Spring4Dの紹介
Shinya Okano
Hadoopとその周辺の紹介
Hadoopとその周辺の紹介
Shinya Okano
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介
Shinya Okano
2011.06.01 和歌山高専
2011.06.01 和歌山高専
Shinya Okano
電子書籍の話
電子書籍の話
Shinya Okano
写真共有アプリのバックエンドサーバー
写真共有アプリのバックエンドサーバー
Shinya Okano
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Shinya Okano
More from Shinya Okano
(16)
Djangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHue
Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
Djangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組み
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
Python札幌201406
Python札幌201406
Spring4Dの紹介
Spring4Dの紹介
Hadoopとその周辺の紹介
Hadoopとその周辺の紹介
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介
2011.06.01 和歌山高専
2011.06.01 和歌山高専
電子書籍の話
電子書籍の話
写真共有アプリのバックエンドサーバー
写真共有アプリのバックエンドサーバー
Python札幌 2012/06/17
Python札幌 2012/06/17
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Recently uploaded
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
Hiroshi Tomioka
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
Recently uploaded
(9)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
Djangoフレームワークの紹介
1.
Django フレームワークの紹介 OSC2016北海道 2016/06/18
2.
お前、誰よ tokibito (岡野 真也)
大阪→和歌山→北海道→東京 Pythonを使って仕事してます 株式会社ビープラウド
3.
Django
4.
Djangoとは 「じゃんご」と読みます Webアプリケーションフレームワーク
Python製 オープンソース BSDライセンス 最新バージョン 1.9.7(2016/06)
5.
Webアプリケーション?
6.
Webアプリケーションって? Webブラウザでインターネットを介し て利用できるアプリケーション 例えば?
ブログ Twitter Googleマップ YouTube その他いろいろ…
7.
Webアプリケーションの イメージ インターネット パソコン (IE,Chrome, Firefox …) モバイル端末 (Android
Chrome, iOS Safari …) Webサーバー (HTTPサーバー) データベース
8.
Python?
9.
Pythonについて プログラミング言語 オープンソース
オブジェクト指向 動的型付け クロスプラットフォーム対応 対話インターフェース 最新バージョンは Python 3.5
10.
Pythonのコード def main(values): for number
in values: print(number * number) # numberの二乗を表示 if __name__ == 'main': main() # Pythonでは、インデント(字下げ)の位置が変わるまでの範囲 が1つのブロックとなります。 main.py
11.
Djangoとは 「じゃんご」と読みます Webアプリケーションフレームワーク
Python製 オープンソース BSDライセンス 最新バージョン 1.9.7(2016/06)
12.
Webアプリケーション フレームワーク?
13.
Webアプリケーション フレームワークって? Webアプリケーションの開発に使う外枠 よく使われるような機能をそろえてくれている
開発者はアプリケーションコードの記述に集中で きる 他のWebアプリケーションフレームワーク Ruby on Rails (Ruby) Symfony (PHP)
14.
Webアプリケーションフ レームワークを使うところ インターネット パソコン (IE,Chrome, Firefox …) モバイル端末 (Android
Chrome, iOS Safari …) Webサーバー (HTTPサーバー) データベース ↑このあたりで使います
15.
Djangoを使ってみるには? Pythonをインストールする OSのパッケージ管理ツールかインストーラーで。
Djangoをインストールする virtualenv (venv)でPython環境を作ってインストール pip install Django
16.
手っ取り早く伝えるために デモ https://github.com/tokibito/django-example-todo https://goo.gl/xyjEcd
17.
Djangoでの開発の流れ プロジェクトを作る データベース接続やタイムゾーンなどの各種設定
アプリケーションを作る startapp models.py urls.pyとviews.py テンプレート 動作確認 アプリケーションを作る(繰り返し..)
18.
デモでやったこと プロジェクトの作成 各種設定
アプリケーション作成 models.py admin.py views.py urls.py テンプレート forms.py
19.
プロジェクトの作成 (venv)$ django-admin startproject
myproject shell
20.
開発サーバーの起動 (venv)$ cd myproject (venv)
myproject/ $ python manage.py runserver shell
21.
データベース設定 DATABASES = { 'default':
{ 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } # sqlite3 以外に、postgres, mysql, oracle を指定可能 # サードパーティでSQLServerやFirebirdなども使える myproject/settings.py
22.
データベース設定 DATABASES = { 'default':
{ 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } # sqlite3 以外に、postgres, mysql, oracle を指定可能 # サードパーティでSQLServerやFirebirdなども使える myproject/settings.py
23.
言語、タイムゾーン設定 # 管理画面のUIやエラーメッセージなどが日本語になる LANGUAGE_CODE =
'ja' # 現在日時の扱いなどを日本時間にする TIME_ZONE = 'Asia/Tokyo' myproject/settings.py
24.
アプリケーション作成 (venv) myproject/ $
python manage.py startapp todo # todoという名前のアプリケーションが作られる # Djangoのアプリケーションは、Pythonモジュールと同じ形式 shell
25.
アプリケーション有効化 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'todo',
# アプリケーション名を追記 ] myproject/settings.py
26.
モデルの作成 from django.db import
models class Todo(models.Model): name = models.CharField("名称", max_length=50) done = models.BooleanField("完了") created_at = models.DateTimeField( "作成日時", auto_now_add=True) def __str__(self): return self.name todo/models.py
27.
管理画面への登録 from django.contrib import
admin from .models import Todo # Todoモデルを管理画面に登録 admin.site.register(Todo) todo/admin.py
28.
views.py from django.shortcuts import
render, redirect, get_object_or_404 from .models import Todo from .forms import TodoForm def index(request): # GETパラメータに ?all=1 と指定された場合は全件を表示 if request.GET.get('all') == '1': queryset = Todo.objects.all() else: # 特に指定がない場合は未完了のレコードのみ queryset = Todo.objects.filter(done=False) # 作成日時で降順にソート todo_list = queryset.order_by('-created_at') return render(request, 'index.html', {'todo_list': todo_list}) todo/views.py
29.
urls.py from django.conf.urls import
url from . import views urlpatterns = [ url(r'^$', views.index, name='index'), # 一覧表示 url(r'^add$', views.add, name='add'), # 追加 url(r'^(?P<pk>¥d+)/edit$', views.edit, name='edit'), # 編集 url(r'^(?P<pk>¥d+)/done$', views.done, name='done'), # 完了 ] todo/urls.py
30.
テンプレート <html><body> <ul> {% for todo
in todo_list %} <li> {{ todo.name }} </li> {% endfor %} </ul> </body><html> todo/templates/index.html
31.
Djangoのアーキテクチャ
32.
管理画面 ユーザー認証
開発用サーバー ORM キャッシュシステム テンプレートエンジン GIS セッション 管理コマンド データベースマイグレーション ユニットテストフレームワーク プロジェクトテンプレート フォームウィジェット URLディスパッチャー 再利用可能なアプリケーション ストレージシステム セキュリティミドルウェア フラッシュメッセージ配信 サイトマップフレームワーク 静的ファイル配信 国際化 メール送信フレームワーク プロジェクト設定 Djangoの機能
33.
Djangoフレームワークの苦 手なところ 複雑なSQL SQLAlchemyを検討
JavaScriptを含むフォーム クライアント側で独立させるか、仕様を妥協
34.
サードパーティ Djangoの機能だけでは足りない場合 サードパーティのモジュールもたくさんある
https://www.djangopackages.com/ 例えば.. django-extensions django-debugtoolbar django-restframework Haystack python-social-auth
35.
Djangoの安定性 安定してます Djangoはフルスタックフレームワーク
サードパーティのライブラリへの依存が無い 依存ライブラリによって不安定になることはない 十分にテストされている フレームワークの自動テスト http://djangoci.com/ APIの互換性ポリシー DeprecationWarningが出るようになってから1つ次のバー ジョンまでは維持される https://docs.djangoproject.com/ja/1.9/misc/api- stability/
36.
Djangoを使っている サービスやプロダクト Instagram (写真共有サービス)
Horizon (OpenStack Dashboard) Hue (Hadoop GUI) Open edX (eラーニング) その他いろいろ
37.
こんな使い方も… manage.py inspectdb
データベースからモデルクラスのコードを生成 django.contrib.admin モデルクラスを登録して管理画面作成 →→簡易データベース編集アプリを作れる! データベース Pythonコード (Djangoモデルクラス) Django管理画面 inspectdb 管理画面へ登録
38.
最近のアップデート 1.8 (2015/04)
復数のテンプレートエンジンをサポート 長期サポートバージョン(以前のLTSは1.4) Python 3.5正式サポート 1.9 (2015/12) 管理画面のスタイルを刷新 パスワード検証機能の追加
39.
ドキュメント まずはオフィシャルドキュメント https://docs.djangoproject.com/en/1.9/
チュートリアルは日本語翻訳あり https://docs.djangoproject.com/ja/1.9/ 参考になるチュートリアル http://eiry.bitbucket.org/ 本 https://www.twoscoopspress.com/products/two- scoops-of-django-1-8 本は残念ながら和書だと古いものしかないです…
40.
django-ja (日本のユーザーコミュニ ティ) リソースやドキュメントの日本語翻訳
http://djangoproject.jp/ 事例やイベント情報、アップデート情報など掲載 django-ja (Googleグループ) 質問や相談など TokyoDjangoMeetup (東京) もくもく作業 雑談、相談
41.
勉強の進め方 まずはチュートリアルをやってみる チュートリアルで使われている機能が理解できたら、 何か課題を見つけて作ってみる
問題を解決できない場合は、メーリングリストなどで 質問する 思う通りにアプリケーションを作れるようになってき たら、テストコードを充実させてみる テストが書きづらいなら、対象のコードの設計を見直す デザインパターンなどを適用していくとよい
42.
Djangoフレームワーク を使ってみてね!
Download now