| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Django

提供: MyMemoWiki
2020年9月19日 (土) 05:18時点におけるPiroto (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

| Python | AngularJS x Django |

目次

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

バージョンの確認

  1. >>> import django
  2. >>> django.VERSION

リクエストオブジェクトとレスポンスオブジェクト

Fileアップロード

静的ファイルを提供

モデル

[Django 多対多関係の実装 多対多関係の実装]

日付の比較

クエリ

JSON

Djangoのモデル

  1. from django.core import serializers
  2. #シリアライズ
  3. users = User.objects.all()
  4. print serializers.serialize("json", users)
  1. #デシリアライズ
  2. for item in serializers.deserialize("json", users_json):
  3. print str(item)

Pythonオブジェクト

  1. import json
  2. #シリアライズ
  3. l = [1,2,3]
  4. print json.dumps(l)
  5.  
  6. #デシリアライズ
  7. l = json.loads("[1,2,3]")

ロギング

Django ロギング設定

SQLのロギング

  1. >>> import logging
  2. >>> l = logging.getLogger('django.db.backends')
  3. >>> l.setLevel(logging.DEBUG)
  4. >>> l.addHandler(logging.StreamHandler())
  5. >>> for b in Bookmark.objects.all():
  6. ... print b.page.url
  7. ...
  8. http://google.co.jp
  9. http://yahoo.co.jp
  10. (0.000) SELECT "Bookmark_bookmark"."id", "Bookmark_bookmark"."page_id", "Bookmark_bookmark"."user_id" FROM "Bookmark_bookmark"; args=()
  11. (0.000) SELECT "Bookmark_page"."id", "Bookmark_page"."url" FROM "Bookmark_page" WHERE "Bookmark_page"."id" = 1 ; args=(1,)
  12. (0.004) SELECT "Bookmark_page"."id", "Bookmark_page"."url" FROM "Bookmark_page" WHERE "Bookmark_page"."id" = 2 ; args=(2,)

DjangoのテストでSQLをロギングする

  • セットアップでロガーを有効にする
  1. from django.conf import settings
  2. from django.test import TestCase
  3. from django.test.client import Client
  4.  
  5. class SimpleTest(TestCase):
  6. @staticmethod
  7. def setUpClass():
  8. settings.DEBUG = True
  9. import logging
  10. l = logging.getLogger('django.db.backends')
  11. l.setLevel(logging.DEBUG)
  12. l.addHandler(logging.StreamHandler())

jQuery

jQueryから配列を送りDjangoで受け取る

jQuery UI のAutocompleteをDjangoで実装

開発サーバー

AngularJS

AngularJS DjangoのCSRFトークンを送信するようにconfigで設定する

認証

デプロイ

CentOS

AWS

デバッグ

デバッグモードを利用

views
  1. from django.conf import settings
  2. def ag_basic(request):
  3. t = loader.get_template('test.html')
  4. print settings.DEBUG
  5. c = RequestContext(request,
  6. {'DEBUG':settings.DEBUG}
  7. )
  8. return HttpResponse(t.render(c))
template
  1. {% if DEBUG %}
  2. DEBUG
  3. {% else %}
  4. RELEASE
  5. {% endif %}

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