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

MyMemoWiki

Django

提供: MyMemoWiki
2020年2月15日 (土) 08:35時点におけるPiroto (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

目次

Django

Python | AngularJS x Django |

http://www.djangoproject.com/

練習

[Django インストール] [インストール]

  • [Django インストール] [インストール]
  • [Django 運用環境の構築] [運用環境の構築]

[Django 最初のアプリケーション 1] [最初のアプリケーション 1 (環境設定~モデルの作成)]

  • [Django 最初のアプリケーション 1] [最初のアプリケーション 1 (環境設定~モデルの作成)]

[Django 最初のアプリケーション 2] [最初のアプリケーション 2 (Adminサイトの構築)]

  • [Django 最初のアプリケーション 2] [最初のアプリケーション 2 (Adminサイトの構築)]

[Django 最初のアプリケーション 3] [最初のアプリケーション 3 (Viewの作成)]

  • [Django 最初のアプリケーション 3] [最初のアプリケーション 3 (Viewの作成)]

運用環境の構築

  • Django 運用環境の構築
  • [Django インストール 1.5.1] [Django 運用環境の構築 1.5.1]

Django APIs

Django APIs(View,Model,Forms,Template)

  • Django APIs

Django Model

  • Django Model

Django テンプレート

  • [Django APIs] [Django テンプレート]

Django ミドルウェア

  • Django ミドルウェア

Django 備忘

  • Django 備忘

Django Admin

Eclipse

Eclipse から Django

  • Eclipse から Django

Link

The Django Book

The Django Book(日本語訳)

Django チュートリアル(Codezine)

Tips

バージョンの確認

>>> import django
>>> django.VERSION

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

Fileアップロード

  • Django Fileアップロード例

静的ファイルを提供

  • Django 静的ファイルを提供する

モデル

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

  • Django 多対多関係の実装

日付の比較

クエリ

  • 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 ロギング設定

  • Django ロギング設定
  • Django 生成されるSQLをロギングする

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から配列を送りDjangoで受け取る

jQuery UI のAutocompleteをDjangoで実装

  • jQuery UI のAutocompleteをDjangoで実装

開発サーバー

  • 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が発生する