トップ 一覧 ping 検索 ヘルプ RSS ログイン

Djangoの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!Django
[Python][AngularJS x Django]

{{amazon 4048672096}}

http://www.djangoproject.com/

!!練習
![[インストール|Django インストール]]
*[[インストール|Django インストール]]
*[[運用環境の構築|Django 運用環境の構築]]
![[最初のアプリケーション 1 (環境設定〜モデルの作成)|Django 最初のアプリケーション 1]]
*[[最初のアプリケーション 1 (環境設定〜モデルの作成)|Django 最初のアプリケーション 1]]
![[最初のアプリケーション 2 (Adminサイトの構築)|Django 最初のアプリケーション 2]]
*[[最初のアプリケーション 2 (Adminサイトの構築)|Django 最初のアプリケーション 2]]
![[最初のアプリケーション 3 (Viewの作成)|Django 最初のアプリケーション 3]]
*[[最初のアプリケーション 3 (Viewの作成)|Django 最初のアプリケーション 3]]
!運用環境の構築
*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 テンプレート|Django APIs]]
!Django ミドルウェア
*Django ミドルウェア
!Django 備忘
*Django 備忘
!Django Admin
*http://docs.djangoproject.jp/en/latest/ref/contrib/admin/index.html
!!Eclipse
!Eclipse から Django
*Eclipse から Django
!!Link
!The Django Book
*http://www.djangobook.com/

!The Django Book(日本語訳)
*http://djangobook-ja.appspot.com/

!Django チュートリアル(Codezine)
*http://codezine.jp/article/detail/4065?p=1

!!!Tips
!!バージョンの確認
 >>> import django
 >>> django.VERSION
!![リクエストオブジェクトとレスポンスオブジェクト|http://djangoproject.jp/doc/ja/1.0/ref/request-response.html]
*[リクエストオブジェクトとレスポンスオブジェクト|http://djangoproject.jp/doc/ja/1.0/ref/request-response.html]
!!Fileアップロード
*Django Fileアップロード例
!!静的ファイルを提供
*Django 静的ファイルを提供する
!!モデル
![多対多関係の実装|Django 多対多関係の実装]
*Django 多対多関係の実装

!日付の比較
*[日付の比較を行う|http://typea.info/blg/glob/2015/04/django.html]
!!クエリ
*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のロギング
*http://www.dabapps.com/blog/logging-sql-queries-django-13/
 >>> 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で設定する

!!認証
*[Django から python-twitter で OAuth認証して Twitter APIを使う|http://typea.info/blg/glob/2015/05/django-python-twitter-oauth-twitter-api.html]

!!デプロイ
!CentOS
*[ServersMan(CentOS 6) に Django 環境を構築する(1) Python2.7のインストールまで|http://typea.info/blg/glob/2013/10/serversmancentos-6-django-1-python27.html]
*[DjangoをCentOS7で実行する|http://typea.info/blg/glob/2016/05/django-centos7.html]
!AWS
*[AWS Elastic Beanstalk Django アプリケーション環境を CentOS6.5 上に PyDevを使って構築する(1) Django起動まで|http://typea.info/blg/glob/2015/01/aws-elastic-beanstalk-django-centos65-pydev1-django.html]
!!デバッグ
!デバッグモードを利用
::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が発生する|http://typea.info/blg/glob/2015/03/django-171-pydevappregistrynotready.html]
*[Django 1.7.1 のユニットテストをPyDevで実行するとAppRegistryNotReadyが発生する|http://typea.info/blg/glob/2015/03/django-171-pydevappregistrynotready.html]