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

MyMemoWiki

「Django」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
(ページの作成:「==Django== [Python][AngularJS x Django] {{amazon|4048672096}} http://www.djangoproject.com/ ===練習=== ====[Django インストール] [インストール]==…」)
 
 
(同じ利用者による、間の4版が非表示)
1行目: 1行目:
==Django==
+
| [[Python]] | [[AngularJS x Django]] |
[Python][AngularJS x Django]
+
==[[Django]]==
  
 
{{amazon|4048672096}}
 
{{amazon|4048672096}}
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
  >>> l = logging.getLogger('django.db.backends')
+
  >>> l = logging.getLogger('django.db.backends')
  >>> l.setLevel(logging.DEBUG)
+
  >>> l.setLevel(logging.DEBUG)
  >>> l.addHandler(logging.StreamHandler())
+
  >>> l.addHandler(logging.StreamHandler())
  >>> for b in Bookmark.objects.all():
+
  >>> for b in Bookmark.objects.all():
 
  ...    print b.page.url
 
  ...    print b.page.url
 
  ...     
 
  ...     
 
  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年9月19日 (土) 05:18時点における最新版

| 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

バージョンの確認

>>> import django
>>> django.VERSION

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

Fileアップロード

静的ファイルを提供

モデル

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

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 UI のAutocompleteを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が発生する