トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

Django



目次



記事一覧

キーワード

Django

[Python][AngularJS x Django]


http://www.djangoproject.com/

 練習

インストール

最初のアプリケーション 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 %}

Django 1.7.1 のユニットテストをPyDevで実行するとAppRegistryNotReadyが発生する



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.