More Related Content
PDF
PPTX
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~ PDF
PDF
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり PPT
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」 PPTX
PDF
PDF
What's hot
PDF
PDF
PDF
PDF
PDF
Dockerfileを改善するためのBest Practice 2019年版 PDF
PPTX
PDF
PDF
PDF
PDF
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方 PDF
PPTX
Tomcatの実装から学ぶクラスローダリーク #渋谷Java PPTX
PDF
PDF
PDF
PPTX
PDF
Apache NiFi の紹介 #streamctjp PDF
Viewers also liked
PDF
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編 PDF
PDF
PDF
スマートフォン向けサービスにおけるサーバサイド設計入門 PDF
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた PDF
PDF
PDF
PDF
Similar to Djangoフレームワークの紹介
PDF
Djangoのエントリポイントとアプリケーションの仕組み PPTX
DjangoでさくっとWeb アプリケーション開発をする話 PPTX
Django Rest Frameworkでお手軽にREST APIを作る ODP
Django 1.5 における効果的な MTV 設計 & ネイティブApp PPTX
PDF
PDF
PDF
PPTX
PPTX
PDF
Djangoフレームワークの紹介 OSC2015北海道 PDF
PDF
KEY
PDF
PDF
ODP
PDF
PPTX
Python勉強会資料(MessageBoard作成) PDF
Webフレームワークパネル(Django) at PyConJP 2012 More from Shinya Okano
PDF
ODP
PPTX
PDF
Python入門 コードリーディング - PyConJP2016 PDF
PDF
PDF
PDF
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ PDF
PDF
PDF
Djangoフレームワークの紹介
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
管理画面
ユーザー認証
開発用サーバー
ORM
キャッシュシステム
テンプレートエンジン
GIS
セッション
管理コマンド
データベースマイグレーション
ユニットテストフレームワーク
プロジェクトテンプレート
フォームウィジェット
URLディスパッチャー
再利用可能なアプリケーション
ストレージシステム
セキュリティミドルウェア
フラッシュメッセージ配信
サイトマップフレームワーク
静的ファイル配信
国際化
メール送信フレームワーク
プロジェクト設定
Djangoの機能
- 11.
管理画面
ユーザー認証
開発用サーバー
ORM
キャッシュシステム
テンプレートエンジン
GIS
セッション
管理コマンド
データベースマイグレーション
ユニットテストフレームワーク
プロジェクトテンプレート
フォームウィジェット
URLディスパッチャー
再利用可能なアプリケーション
ストレージシステム
セキュリティミドルウェア
フラッシュメッセージ配信
サイトマップフレームワーク
静的ファイル配信
国際化
メール送信フレームワーク
プロジェクト設定
Djangoの機能(デモで使用)
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 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.
- 34.
- 35.
- 36.
モデルの作成
from django.db importmodels
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.
- 38.
views.py
from django.shortcuts importrender, 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 importurl
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.
- 41.
- 42.
Djangoの安定性
安定してます
Djangoはフルスタックフレームワーク
サードパーティのライブラリへの依存が無い
依存ライブラリによって不安定になることはない
十分にテストされている
フレームワークの自動テスト
http://djangoci.com/
APIの互換性ポリシー
DeprecationWarningが出るようになってから1つ次のバー
ジョンまでは維持される
https://docs.djangoproject.com/ja/1.9/misc/api-
stability/
- 43.
- 44.
こんな使い方も…
manage.py inspectdb
データベースからモデルクラスのコードを生成
django.contrib.admin
モデルクラスを登録して管理画面作成
→→簡易データベース編集アプリを作れる!
データベース
Pythonコード
(Djangoモデルクラス) Django管理画面
inspectdb 管理画面へ登録
- 45.
- 46.
- 47.