Submit Search
Djangoフレームワークの紹介
11 likes
74,272 views
Shinya Okano
Djangoフレームワークの紹介
Engineering
Read more
1 of 47
Download now
Downloaded 39 times
1
2
3
4
5
6
Most read
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
More Related Content
PDF
Djangoフレームワークのユーザーモデルと認証
Shinya Okano
PDF
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Yahoo!デベロッパーネットワーク
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
PPTX
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PDF
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
株式会社MonotaRO Tech Team
PDF
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
PDF
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
techgamecollege
PDF
こわくない Git
Kota Saito
Djangoフレームワークのユーザーモデルと認証
Shinya Okano
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Yahoo!デベロッパーネットワーク
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
株式会社MonotaRO Tech Team
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
techgamecollege
こわくない Git
Kota Saito
What's hot
(20)
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
PPTX
Amazon SageMakerでカスタムコンテナを使った学習
西岡 賢一郎
PDF
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
PDF
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
PDF
Goの時刻に関するテスト
Kentaro Kawano
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
PDF
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
PDF
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
PDF
20191115-PGconf.Japan
Kohei KaiGai
PPTX
DockerコンテナでGitを使う
Kazuhiro Suga
PDF
Pythonによる黒魔術入門
大樹 小倉
PDF
Djangoのエントリポイントとアプリケーションの仕組み
Shinya Okano
PPTX
がっつりMongoDB事例紹介
Tetsutaro Watanabe
PPTX
グラフデータベース入門
Masaya Dake
PPTX
世界一わかりやすいClean Architecture
Atsushi Nakamura
PDF
これからのネイティブアプリにおけるOpenID Connectの活用
Masaru Kurahayashi
PDF
なぜOpenID Connectが必要となったのか、その歴史的背景
Tatsuo Kudo
PDF
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Keisuke Takahashi
KEY
やはりお前らのMVCは間違っている
Koichi Tanaka
PDF
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
Amazon SageMakerでカスタムコンテナを使った学習
西岡 賢一郎
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
Goの時刻に関するテスト
Kentaro Kawano
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
20191115-PGconf.Japan
Kohei KaiGai
DockerコンテナでGitを使う
Kazuhiro Suga
Pythonによる黒魔術入門
大樹 小倉
Djangoのエントリポイントとアプリケーションの仕組み
Shinya Okano
がっつりMongoDB事例紹介
Tetsutaro Watanabe
グラフデータベース入門
Masaya Dake
世界一わかりやすいClean Architecture
Atsushi Nakamura
これからのネイティブアプリにおけるOpenID Connectの活用
Masaru Kurahayashi
なぜOpenID Connectが必要となったのか、その歴史的背景
Tatsuo Kudo
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Keisuke Takahashi
やはりお前らのMVCは間違っている
Koichi Tanaka
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
Ad
Viewers also liked
(9)
PDF
Djangoエンジニアの観点から見たHue
Shinya Okano
PDF
Djangoフレームワークの紹介
Shinya Okano
PDF
通信対戦ゲームを作った話
mipsparc
PDF
スマートフォン向けサービスにおけるサーバサイド設計入門
Hisashi HATAKEYAMA
PDF
日曜プログラマーが 1週間くらいで通信対戦ゲームを作ってみた
Yuusuke Takeuchi
PDF
Djangoによるスマホアプリバックエンドの実装
Nakazawa Yuichi
PDF
自宅で出来る!ゲームサーバの作り方
光晶 上原
PDF
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
PDF
年の瀬!リアルタイム通信ゲームサーバ勉強会
monobit
Djangoエンジニアの観点から見たHue
Shinya Okano
Djangoフレームワークの紹介
Shinya Okano
通信対戦ゲームを作った話
mipsparc
スマートフォン向けサービスにおけるサーバサイド設計入門
Hisashi HATAKEYAMA
日曜プログラマーが 1週間くらいで通信対戦ゲームを作ってみた
Yuusuke Takeuchi
Djangoによるスマホアプリバックエンドの実装
Nakazawa Yuichi
自宅で出来る!ゲームサーバの作り方
光晶 上原
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
年の瀬!リアルタイム通信ゲームサーバ勉強会
monobit
Ad
Similar to Djangoフレームワークの紹介
(20)
PDF
Pycon2014 django performance
hirokiky
PDF
How To Drink Wsgi
Atsushi Odagiri
PPT
Inside mobage platform
Toru Yamaguchi
PPTX
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
PDF
初めてのPadrino
Takeshi Yabe
KEY
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
PPTX
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
PPTX
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
PDF
Programming camp 2008, Codereading
Hiro Yoshioka
PDF
Node予備校 vol.1 名古屋
Mori Shingo
PDF
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
Insight Technology, Inc.
PDF
ゆるふわAzure Functions
Keiji Kamebuchi
PDF
Software Development with Symfony
Atsuhiro Kubo
PDF
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
PPTX
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Daiyu Hatakeyama
PDF
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
PDF
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
PDF
Windows PowerShell 2.0 の基礎知識
shigeya
PDF
Djangoフレームワークの紹介 OSC2015北海道
Shinya Okano
PDF
実践 NestJS
Ayumi Goto
Pycon2014 django performance
hirokiky
How To Drink Wsgi
Atsushi Odagiri
Inside mobage platform
Toru Yamaguchi
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
初めてのPadrino
Takeshi Yabe
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
Programming camp 2008, Codereading
Hiro Yoshioka
Node予備校 vol.1 名古屋
Mori Shingo
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
Insight Technology, Inc.
ゆるふわAzure Functions
Keiji Kamebuchi
Software Development with Symfony
Atsuhiro Kubo
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Daiyu Hatakeyama
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
Windows PowerShell 2.0 の基礎知識
shigeya
Djangoフレームワークの紹介 OSC2015北海道
Shinya Okano
実践 NestJS
Ayumi Goto
More from Shinya Okano
(12)
PDF
Pyconjp2016 pyftplib
Shinya Okano
PDF
Python入門 コードリーディング - PyConJP2016
Shinya Okano
PPTX
Python札幌201406
Shinya Okano
PPTX
Spring4Dの紹介
Shinya Okano
PDF
Hadoopとその周辺の紹介
Shinya Okano
ODP
Delphi ideを使わない開発スタイルの紹介
Shinya Okano
PDF
2011.06.01 和歌山高専
Shinya Okano
PDF
電子書籍の話
Shinya Okano
PDF
写真共有アプリのバックエンドサーバー
Shinya Okano
PDF
Python札幌 2012/06/17
Shinya Okano
PDF
XenServerによるお手軽開発サーバ運用
Shinya Okano
PDF
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Shinya Okano
Pyconjp2016 pyftplib
Shinya Okano
Python入門 コードリーディング - PyConJP2016
Shinya Okano
Python札幌201406
Shinya Okano
Spring4Dの紹介
Shinya Okano
Hadoopとその周辺の紹介
Shinya Okano
Delphi ideを使わない開発スタイルの紹介
Shinya Okano
2011.06.01 和歌山高専
Shinya Okano
電子書籍の話
Shinya Okano
写真共有アプリのバックエンドサーバー
Shinya Okano
Python札幌 2012/06/17
Shinya Okano
XenServerによるお手軽開発サーバ運用
Shinya Okano
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Shinya Okano
Djangoフレームワークの紹介
1.
Django フレームワークの紹介 OSC2017北海道 2017/07/15
2.
1年ぶりです こんにちは
3.
django-ja から来ました (゚∀゚)
4.
お前、誰よ tokibito (岡野 真也)
大阪→和歌山→北海道→東京 Pythonを使って仕事してます 株式会社オープンコレクター 所属変わりました
5.
Django
6.
Djangoとは 「じゃんご」と読みます Webアプリケーションフレームワーク
Python製 オープンソース BSDライセンス 最新バージョン 1.11.3(2017/07) 開発: DjangoSoftwareFoundation
7.
どんなことができる?
8.
デモしましょう https://github.com/tokibito/django-example-todo
9.
簡単なToDoアプリを作る =タスク管理アプリ =やることリスト
10.
管理画面 ユーザー認証
開発用サーバー ORM キャッシュシステム テンプレートエンジン GIS セッション 管理コマンド データベースマイグレーション ユニットテストフレームワーク プロジェクトテンプレート フォームウィジェット URLディスパッチャー 再利用可能なアプリケーション ストレージシステム セキュリティミドルウェア フラッシュメッセージ配信 サイトマップフレームワーク 静的ファイル配信 国際化 メール送信フレームワーク プロジェクト設定 Djangoの機能
11.
管理画面 ユーザー認証
開発用サーバー ORM キャッシュシステム テンプレートエンジン GIS セッション 管理コマンド データベースマイグレーション ユニットテストフレームワーク プロジェクトテンプレート フォームウィジェット URLディスパッチャー 再利用可能なアプリケーション ストレージシステム セキュリティミドルウェア フラッシュメッセージ配信 サイトマップフレームワーク 静的ファイル配信 国際化 メール送信フレームワーク プロジェクト設定 Djangoの機能(デモで使用)
12.
Djangoのアーキテクチャ
13.
サードパーティ Djangoの機能だけでは足りない場合 サードパーティのモジュールもたくさんある
https://www.djangopackages.com/ 例えば.. django-extensions (コマンド拡張など) django-debugtoolbar (デバッグ) django-restframework (REST API) Haystack (検索エンジン) Mezzanine, cartridge (CMS, E-Commerce)
14.
歴史と実績 アメリカの新聞社が2006年OSSとして公開 11年経ちましたが開発は活発です
Python2.3-2.5→2.7-3.6→3.5+ 利用事例 Instagram ググってください(Djangoフレームワークの求人はそこ そこあります) 国内でも規模の大きな事例あります ユーザー数が数万~のシステム DBテーブル数200+ アプリケーションコード10万行+
15.
前回からのアップデート バージョン1.9→1.11 1.10
1.11 LTS Django1.Xの最後のバージョン Python2.Xをサポートする最後のバージョン
16.
次のバージョン 2.0 2017/12
Python3.5以上サポート 2.2 LTS 2019/04
17.
ユーザーコミュニティ 日本 Django-ja
主に東京で活動 www.djangoproject.jp 翻訳 海外 概ね国単位でローカルコミュニティがある 中心は英語のDjango-users
18.
Djangoフレームワーク を使ってみてね!
19.
以降、雑多な資料。
20.
Webアプリケーションって? Webブラウザでインターネットを介し て利用できるアプリケーション 例えば?
ブログ Twitter Googleマップ YouTube その他いろいろ…
21.
Webアプリケーションの イメージ インターネット パソコン (IE,Chrome, Firefox …) モバイル端末 (Android
Chrome, iOS Safari …) Webサーバー (HTTPサーバー) データベース
22.
Pythonについて プログラミング言語 オープンソース
オブジェクト指向 動的型付け クロスプラットフォーム対応 対話インターフェース 最新バージョンは Python 3.5
23.
Pythonのコード def main(values): for number
in values: print(number * number) # numberの二乗を表示 if __name__ == 'main': main() # Pythonでは、インデント(字下げ)の位置が変わるまでの範囲 が1つのブロックとなります。 main.py
24.
Webアプリケーション フレームワークって? Webアプリケーションの開発に使う外枠 よく使われるような機能をそろえてくれている
開発者はアプリケーションコードの記述に集中で きる 他のWebアプリケーションフレームワーク Ruby on Rails (Ruby) Symfony (PHP)
25.
Webアプリケーションフ レームワークを使うところ インターネット パソコン (IE,Chrome, Firefox …) モバイル端末 (Android
Chrome, iOS Safari …) Webサーバー (HTTPサーバー) データベース ↑このあたりで使います
26.
Djangoを使ってみるには? Pythonをインストールする OSのパッケージ管理ツールかインストーラーで。
Djangoをインストールする virtualenv (venv)でPython環境を作ってインストール pip install Django
27.
Djangoでの開発の流れ プロジェクトを作る データベース接続やタイムゾーンなどの各種設定
アプリケーションを作る startapp models.py urls.pyとviews.py テンプレート 動作確認 アプリケーションを作る(繰り返し..)
28.
デモでやったこと プロジェクトの作成 各種設定
アプリケーション作成 models.py admin.py views.py urls.py テンプレート forms.py
29.
プロジェクトの作成 (venv)$ django-admin startproject
myproject shell
30.
開発サーバーの起動 (venv)$ cd myproject (venv)
myproject/ $ python manage.py runserver shell
31.
データベース設定 DATABASES = { 'default':
{ 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } # sqlite3 以外に、postgres, mysql, oracle を指定可能 # サードパーティでSQLServerやFirebirdなども使える myproject/settings.py
32.
データベース設定 DATABASES = { 'default':
{ 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } # sqlite3 以外に、postgres, mysql, oracle を指定可能 # サードパーティでSQLServerやFirebirdなども使える myproject/settings.py
33.
言語、タイムゾーン設定 # 管理画面のUIやエラーメッセージなどが日本語になる LANGUAGE_CODE =
'ja' # 現在日時の扱いなどを日本時間にする TIME_ZONE = 'Asia/Tokyo' myproject/settings.py
34.
アプリケーション作成 (venv) myproject/ $
python manage.py startapp todo # todoという名前のアプリケーションが作られる # Djangoのアプリケーションは、Pythonモジュールと同じ形式 shell
35.
アプリケーション有効化 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'todo',
# アプリケーション名を追記 ] myproject/settings.py
36.
モデルの作成 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
37.
管理画面への登録 from django.contrib import
admin from .models import Todo # Todoモデルを管理画面に登録 admin.site.register(Todo) todo/admin.py
38.
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
39.
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
40.
テンプレート <html><body> <ul> {% for todo
in todo_list %} <li> {{ todo.name }} </li> {% endfor %} </ul> </body><html> todo/templates/index.html
41.
Djangoフレームワークの苦 手なところ 複雑なSQL SQLAlchemyを検討
JavaScriptを含むフォーム クライアント側で独立させるか、仕様を妥協
42.
Djangoの安定性 安定してます Djangoはフルスタックフレームワーク
サードパーティのライブラリへの依存が無い 依存ライブラリによって不安定になることはない 十分にテストされている フレームワークの自動テスト http://djangoci.com/ APIの互換性ポリシー DeprecationWarningが出るようになってから1つ次のバー ジョンまでは維持される https://docs.djangoproject.com/ja/1.9/misc/api- stability/
43.
Djangoを使っている サービスやプロダクト Instagram (写真共有サービス)
Horizon (OpenStack Dashboard) Hue (Hadoop GUI) Open edX (eラーニング) その他いろいろ
44.
こんな使い方も… manage.py inspectdb
データベースからモデルクラスのコードを生成 django.contrib.admin モデルクラスを登録して管理画面作成 →→簡易データベース編集アプリを作れる! データベース Pythonコード (Djangoモデルクラス) Django管理画面 inspectdb 管理画面へ登録
45.
ドキュメント まずはオフィシャルドキュメント 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 本は残念ながら和書だと古いものしかないです…
46.
django-ja (日本のユーザーコミュニ ティ) リソースやドキュメントの日本語翻訳
http://djangoproject.jp/ 事例やイベント情報、アップデート情報など掲載 django-ja (Googleグループ) 質問や相談など TokyoDjangoMeetup (東京) もくもく作業 雑談、相談
47.
勉強の進め方 まずはチュートリアルをやってみる チュートリアルで使われている機能が理解できたら、 何か課題を見つけて作ってみる
問題を解決できない場合は、メーリングリストなどで 質問する 思う通りにアプリケーションを作れるようになってき たら、テストコードを充実させてみる テストが書きづらいなら、対象のコードの設計を見直す デザインパターンなどを適用していくとよい
Download