「Django」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==Django== [Python][AngularJS x Django] {{amazon|4048672096}} http://www.djangoproject.com/ ===練習=== ====[Django インストール] [インストール]==…」) |
|||
(同じ利用者による、間の4版が非表示) | |||
1行目: | 1行目: | ||
− | + | | [[Python]] | [[AngularJS x Django]] | | |
− | [Python][AngularJS x Django] | + | ==[[Django]]== |
{{amazon|4048672096}} | {{amazon|4048672096}} | ||
7行目: | 7行目: | ||
===練習=== | ===練習=== | ||
− | ====[Django インストール] | + | ====[[Django インストール|インストール]]==== |
− | *[Django インストール] | + | *[[Django インストール|インストール]] |
− | *[Django 運用環境の構築] | + | *[[Django 運用環境の構築|運用環境の構築]] |
− | ====[Django 最初のアプリケーション 1 | + | ====[[Django 最初のアプリケーション 1|最初のアプリケーション 1 (環境設定~モデルの作成)]]==== |
− | *[Django 最初のアプリケーション 1 | + | *[[Django 最初のアプリケーション 1|最初のアプリケーション 1 (環境設定~モデルの作成)]] |
− | ====[Django 最初のアプリケーション 2 | + | ====[[Django 最初のアプリケーション 2|最初のアプリケーション 2 (Adminサイトの構築)]]==== |
− | *[Django 最初のアプリケーション 2 | + | *[[Django 最初のアプリケーション 2|最初のアプリケーション 2 (Adminサイトの構築)]] |
− | ====[Django 最初のアプリケーション 3 | + | ====[[Django 最初のアプリケーション 3|最初のアプリケーション 3 (Viewの作成)]]==== |
− | *[Django 最初のアプリケーション 3 | + | *[[Django 最初のアプリケーション 3|最初のアプリケーション 3 (Viewの作成)]] |
====運用環境の構築==== | ====運用環境の構築==== | ||
− | *Django 運用環境の構築 | + | *[[Django 運用環境の構築]] |
− | *[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 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 | |
− | + | >>> 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]]のモデル==== |
from django.core import serializers | from django.core import serializers | ||
#シリアライズ | #シリアライズ | ||
74行目: | 74行目: | ||
print str(item) | print str(item) | ||
− | ==== | + | ====[[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]]のロギング==== |
*http://www.dabapps.com/blog/logging-sql-queries-django-13/ | *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 | ... 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" | + | (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" | + | (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" | + | (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をロギングする==== |
*セットアップでロガーを有効にする | *セットアップでロガーを有効にする | ||
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行目: | ||
===デバッグ=== | ===デバッグ=== | ||
====デバッグモードを利用==== | ====デバッグモードを利用==== | ||
− | ===== | + | =====[[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 = | + | c = [[R]]equestContext(request, |
{'DEBUG':settings.DEBUG} | {'DEBUG':settings.DEBUG} | ||
) | ) | ||
− | return | + | return Http[[R]]esponse(t.render(c)) |
=====template===== | =====template===== | ||
{% if DEBUG %} | {% if DEBUG %} | ||
DEBUG | DEBUG | ||
{% else %} | {% else %} | ||
− | + | [[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
練習
インストール
最初のアプリケーション 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が発生する
© 2006 矢木浩人