!!!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]