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

MyMemoWiki

「Django」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
1行目: 1行目:
==Django==
+
==[[Django]]==
 
[[Python]] | [[AngularJS x Django]] |  
 
[[Python]] | [[AngularJS x Django]] |  
  
7行目: 7行目:
  
 
===練習===
 
===練習===
====[Django インストール] [インストール]====
+
====[[Django インストール|インストール]]====
*[Django インストール] [インストール]
+
*[[Django インストール|インストール]]
*[Django 運用環境の構築] [運用環境の構築]
+
*[[Django 運用環境の構築|運用環境の構築]]
====[Django 最初のアプリケーション 1] [最初のアプリケーション 1 (環境設定~モデルの作成)]====
+
====[[Django 最初のアプリケーション 1|最初のアプリケーション 1 (環境設定~モデルの作成)]]====
*[Django 最初のアプリケーション 1] [最初のアプリケーション 1 (環境設定~モデルの作成)]
+
*[[Django 最初のアプリケーション 1|最初のアプリケーション 1 (環境設定~モデルの作成)]]
====[Django 最初のアプリケーション 2] [最初のアプリケーション 2 (Adminサイトの構築)]====
+
====[[Django 最初のアプリケーション 2|最初のアプリケーション 2 (Adminサイトの構築)]]====
*[Django 最初のアプリケーション 2] [最初のアプリケーション 2 (Adminサイトの構築)]
+
*[[Django 最初のアプリケーション 2|最初のアプリケーション 2 (Adminサイトの構築)]]
====[Django 最初のアプリケーション 3] [最初のアプリケーション 3 (Viewの作成)]====
+
====[[Django 最初のアプリケーション 3|最初のアプリケーション 3 (Viewの作成)]]====
*[Django 最初のアプリケーション 3] [最初のアプリケーション 3 (Viewの作成)]
+
*[[Django 最初のアプリケーション 3|最初のアプリケーション 3 (Viewの作成)]]
 
====運用環境の構築====
 
====運用環境の構築====
*Django 運用環境の構築
+
*[[Django 運用環境の構築]]
*[Django インストール 1.5.1] [Django 運用環境の構築 1.5.1]
+
*[[Django インストール 1.5.1|Django 運用環境の構築 1.5.1]]
===Django APIs===
+
===[[Django APIs]]===
====Django APIs(View,Model,Forms,Template)====
+
====[[Django APIs]](View,Model,Forms,Template)====
*Django APIs
+
*[[Django APIs]]
====Django Model====
+
====[[Django Model]]====
*Django Model
+
*[[Django Model]]
====Django テンプレート====
+
====[[Django]] テンプレート====
*[Django APIs] [Django テンプレート]
+
*[[Django APIs|Django テンプレート]]
====Django ミドルウェア====
+
====[[Django ミドルウェア]]====
*Django ミドルウェア
+
*[[Django ミドルウェア]]
====Django 備忘====
+
====[[Django 備忘]]====
*Django 備忘
+
*[[Django 備忘]]
====Django Admin====
+
====[[Django]] Admin====
 
*http://docs.djangoproject.jp/en/latest/ref/contrib/admin/index.html
 
*http://docs.djangoproject.jp/en/latest/ref/contrib/admin/index.html
===Eclipse===
+
===[[Eclipse]]===
====Eclipse から Django====
+
====[[Eclipse から Django]]====
*Eclipse から Django
+
*[[Eclipse から Django]]
 
===Link===
 
===Link===
====The Django Book====
+
====The [[Django]] Book====
 
*http://www.djangobook.com/
 
*http://www.djangobook.com/
  
====The Django Book(日本語訳)====
+
====The [[Django]] Book(日本語訳)====
 
*http://djangobook-ja.appspot.com/
 
*http://djangobook-ja.appspot.com/
  
====Django チュートリアル(Codezine)====
+
====[[Django]] チュートリアル(Codezine)====
 
*http://codezine.jp/article/detail/4065?p=1
 
*http://codezine.jp/article/detail/4065?p=1
  
==Tips==
+
==[[Tips]]==
 
===バージョンの確認===
 
===バージョンの確認===
 
  >>> import django
 
  >>> import django
  >>> django.VERSION
+
  >>> django.VE[[R]]SION
 
===[http://djangoproject.jp/doc/ja/1.0/ref/request-response.html リクエストオブジェクトとレスポンスオブジェクト]===
 
===[http://djangoproject.jp/doc/ja/1.0/ref/request-response.html リクエストオブジェクトとレスポンスオブジェクト]===
 
*[http://djangoproject.jp/doc/ja/1.0/ref/request-response.html リクエストオブジェクトとレスポンスオブジェクト]
 
*[http://djangoproject.jp/doc/ja/1.0/ref/request-response.html リクエストオブジェクトとレスポンスオブジェクト]
 
===Fileアップロード===
 
===Fileアップロード===
*Django Fileアップロード例
+
*[[Django Fileアップロード例]]
 
===静的ファイルを提供===
 
===静的ファイルを提供===
*Django 静的ファイルを提供する
+
*[[Django 静的ファイルを提供する]]
 
===モデル===
 
===モデル===
 
====[Django 多対多関係の実装 多対多関係の実装]====
 
====[Django 多対多関係の実装 多対多関係の実装]====
*Django 多対多関係の実装
+
*[[Django 多対多関係の実装]]
  
 
====日付の比較====
 
====日付の比較====
 
*[http://typea.info/blg/glob/2015/04/django.html 日付の比較を行う]
 
*[http://typea.info/blg/glob/2015/04/django.html 日付の比較を行う]
 
===クエリ===
 
===クエリ===
*Django クエリ
+
*[[Django クエリ]]
===JSON===
+
===[[JSON]]===
====Djangoのモデル====
+
====[[Django]]のモデル====
 
  from django.core import serializers
 
  from django.core import serializers
 
  #シリアライズ
 
  #シリアライズ
74行目: 74行目:
 
   print str(item)  
 
   print str(item)  
  
====Pythonオブジェクト====
+
====[[Python]]オブジェクト====
 
  import json
 
  import json
 
  #シリアライズ
 
  #シリアライズ
83行目: 83行目:
 
  l = json.loads("[1,2,3]")
 
  l = json.loads("[1,2,3]")
 
===ロギング===
 
===ロギング===
====Django ロギング設定====
+
====[[Django ロギング設定]]====
*Django ロギング設定
+
*[[Django ロギング設定]]
*Django 生成されるSQLをロギングする
+
*[[Django 生成されるSQLをロギングする]]
  
====SQLのロギング====
+
====[[SQL]]のロギング====
 
*http://www.dabapps.com/blog/logging-sql-queries-django-13/
 
*http://www.dabapps.com/blog/logging-sql-queries-django-13/
 
  >>> import logging
 
  >>> import logging
98行目: 98行目:
 
  http://google.co.jp
 
  http://google.co.jp
 
  http://yahoo.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_bookmark"."id", "Bookmark_bookmark"."page_id", "Bookmark_bookmark"."user_id" F[[R]]OM "Bookmark_bookmark"; args=()
  (0.000) SELECT "Bookmark_page"."id", "Bookmark_page"."url" FROM "Bookmark_page" WHERE "Bookmark_page"."id" = 1 ; args=(1,)
+
  (0.000) SELECT "Bookmark_page"."id", "Bookmark_page"."url" F[[R]]OM "Bookmark_page" WHE[[R]]E "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,)
+
  (0.004) SELECT "Bookmark_page"."id", "Bookmark_page"."url" F[[R]]OM "Bookmark_page" WHE[[R]]E "Bookmark_page"."id" = 2 ; args=(2,)
====DjangoのテストでSQLをロギングする====
+
====[[Django]]のテストでSQLをロギングする====
 
*セットアップでロガーを有効にする
 
*セットアップでロガーを有効にする
 
  from django.conf import settings
 
  from django.conf import settings
115行目: 115行目:
 
         l.setLevel(logging.DEBUG)
 
         l.setLevel(logging.DEBUG)
 
         l.addHandler(logging.StreamHandler())
 
         l.addHandler(logging.StreamHandler())
===jQuery===
+
===[[jQuery]]===
====jQueryから配列を送りDjangoで受け取る====
+
====[[jQueryから配列を送りDjangoで受け取る]]====
*jQueryから配列を送りDjangoで受け取る
+
*[[jQueryから配列を送りDjangoで受け取る]]
====jQuery UI のAutocompleteをDjangoで実装====
+
====[[jQuery UI のAutocompleteをDjangoで実装]]====
*jQuery UI のAutocompleteをDjangoで実装
+
*[[jQuery UI のAutocompleteをDjangoで実装]]
 
====開発サーバー====
 
====開発サーバー====
*Django 開発サーバーに他ホストから接続
+
*[[Django 開発サーバーに他ホストから接続]]
===AngularJS===
+
===[[AngularJS]]===
====AngularJS DjangoのCSRFトークンを送信するようにconfigで設定する====
+
====[[AngularJS DjangoのCSRFトークンを送信するようにconfigで設定する]]====
  
 
===認証===
 
===認証===
129行目: 129行目:
  
 
===デプロイ===
 
===デプロイ===
====CentOS====
+
====[[CentOS]]====
 
*[http://typea.info/blg/glob/2013/10/serversmancentos-6-django-1-python27.html ServersMan(CentOS 6) に Django 環境を構築する(1) Python2.7のインストールまで]
 
*[http://typea.info/blg/glob/2013/10/serversmancentos-6-django-1-python27.html ServersMan(CentOS 6) に Django 環境を構築する(1) Python2.7のインストールまで]
 
*[http://typea.info/blg/glob/2016/05/django-centos7.html DjangoをCentOS7で実行する]
 
*[http://typea.info/blg/glob/2016/05/django-centos7.html DjangoをCentOS7で実行する]
136行目: 136行目:
 
===デバッグ===
 
===デバッグ===
 
====デバッグモードを利用====
 
====デバッグモードを利用====
=====views=====
+
=====[[vi]]ews=====
 
  from django.conf import settings
 
  from django.conf import settings
 
  def ag_basic(request):
 
  def ag_basic(request):
 
     t = loader.get_template('test.html')
 
     t = loader.get_template('test.html')
 
     print settings.DEBUG
 
     print settings.DEBUG
     c = RequestContext(request,
+
     c = [[R]]equestContext(request,
 
         {'DEBUG':settings.DEBUG}
 
         {'DEBUG':settings.DEBUG}
 
         )
 
         )
     return HttpResponse(t.render(c))
+
     return Http[[R]]esponse(t.render(c))
 
=====template=====
 
=====template=====
 
  {% if DEBUG %}
 
  {% if DEBUG %}
 
  DEBUG
 
  DEBUG
 
  {% else %}
 
  {% else %}
  RELEASE
+
  [[R]]ELEASE
 
  {% endif %}
 
  {% endif %}
 
====[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 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 Django 1.7.1 のユニットテストをPyDevで実行するとAppRegistryNotReadyが発生する]

2020年2月16日 (日) 04:24時点における版

目次

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

バージョンの確認

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