Django
ナビゲーションに移動
検索に移動
| Python | AngularJS x Django |
目次
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アップロード
静的ファイルを提供
モデル
[Django 多対多関係の実装 多対多関係の実装]
日付の比較
クエリ
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 %}
Django 1.7.1 のユニットテストをPyDevで実行するとAppRegistryNotReadyが発生する
© 2006 矢木浩人