目次
Django
練習
インストール
最初のアプリケーション 1 (環境設定〜モデルの作成)
最初のアプリケーション 2 (Adminサイトの構築)
最初のアプリケーション 3 (Viewの作成)
運用環境の構築
Django APIs
Django APIs(View,Model,Forms,Template)
Django Model
Django テンプレート
Django ミドルウェア
Django 備忘
Django Admin
Eclipse
Eclipse から Django
Link
The Django Book
The Django Book(日本語訳)
Django チュートリアル(Codezine)
Tips
バージョンの確認
>>> import django >>> django.VERSION
リクエストオブジェクトとレスポンスオブジェクト
Fileアップロード
静的ファイルを提供
モデル
多対多関係の実装
日付の比較
クエリ
JSON
Djangoのモデル
from django.core import serializers #シリアライズ users = User.objects.all() print serializers.serialize("json", users)
#デシリアライズ for item in serializers.deserialize("json", users_json): print str(item)
Pythonオブジェクト
import json #シリアライズ l = [1,2,3] print json.dumps(l) #デシリアライズ l = json.loads("[1,2,3]")
ロギング
Django ロギング設定
SQLのロギング
>>> import logging >>> l = logging.getLogger('django.db.backends') >>> l.setLevel(logging.DEBUG) >>> l.addHandler(logging.StreamHandler()) >>> for b in Bookmark.objects.all(): ... print b.page.url ... http://google.co.jp http://yahoo.co.jp (0.000) SELECT "Bookmark_bookmark"."id", "Bookmark_bookmark"."page_id", "Bookmark_bookmark"."user_id" FROM "Bookmark_bookmark"; args=() (0.000) SELECT "Bookmark_page"."id", "Bookmark_page"."url" FROM "Bookmark_page" WHERE "Bookmark_page"."id" = 1 ; args=(1,) (0.004) SELECT "Bookmark_page"."id", "Bookmark_page"."url" FROM "Bookmark_page" WHERE "Bookmark_page"."id" = 2 ; args=(2,)
DjangoのテストでSQLをロギングする
- セットアップでロガーを有効にする
from django.conf import settings from django.test import TestCase from django.test.client import Client class SimpleTest(TestCase): @staticmethod def setUpClass(): settings.DEBUG = True import logging l = logging.getLogger('django.db.backends') l.setLevel(logging.DEBUG) l.addHandler(logging.StreamHandler())
jQuery
jQueryから配列を送りDjangoで受け取る
jQuery UI のAutocompleteをDjangoで実装
開発サーバー
AngularJS
AngularJS DjangoのCSRFトークンを送信するようにconfigで設定する
認証
デプロイ
CentOS
AWS
デバッグ
デバッグモードを利用
- views
from django.conf import settings def ag_basic(request): t = loader.get_template('test.html') print settings.DEBUG c = RequestContext(request, {'DEBUG':settings.DEBUG} ) return HttpResponse(t.render(c))
- template
{% if DEBUG %} DEBUG {% else %} RELEASE {% endif %}
YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto
Copyright© 矢木 浩人 All Rights Reserved.