Django
DjangoでA データをいくつか作って、テンプレートで表示させる際にManyToManyフィールドがあると、途中の参照でManagerが入ってしまう。 その際にModelMapperを使って記述を少し簡単にしよう、という話。 まあ実際に使える場面は多くない。 myapp/models.py …
Djangoの翻訳状況について。 Django1.3以降の汎用ビューやモデル周りの変更に伴って、未翻訳のテキストが増えていたので少し翻訳作業をしました。 https://www.transifex.com/projects/p/django/language/ja/ localflavor, humanize以外は100%になっています…
社内向け。検索用記事。Djangoのバージョンは1.4。 ORMを使わずにSQLを投げて、結果をオブジェクトとして使いたい場合。 bpcommonsは社内の人なら拾ってこれるはず。bpmappersはpipでインストール。 myapp/models.py データベース用のものとふるまいをするだ…
Djangoのアプリケーションで、models.pyのコード量が多くなってきたので、複数のファイルに分割する話。 ハマりどころがあるので書いておく。試したのはPython2.7、Django1.4。 testapp/ __init__.py models.py models.py from django.db import models clas…
Djangoでユニットテストを書く際にテストクライアントを使うことができますが、これはurls.pyを用意しないと使えません。 しかし、ビュー関数のみをテストする場合、Requestクラスのオブジェクトが必要になります。 django.test.client.RequestFactoryを使え…
今更な感じではあるけど紹介。 ソフトウェアを多言語対応させるためにはgettextなどの仕組みを使うのだけど、それらで使われる拡張子がPOの翻訳データのファイルをオンライン上で編集できるサービスです。 https://www.transifex.net/start/ Transifexがオー…
いろんな環境で動かしていたり、アプリケーションサーバが複数ある場合、エラーメールがどこから送られたのかパッと見で判別しづらい。 socketモジュールでホスト名を取得できるので、メールのタイトルに入れとくといい感じ。 settings.py import socket EMA…
bpmappersのサンプルコード。 DjangoのManyToManyFieldに対するアプローチ。 バージョン0.5でフィールドのkeyパラメータにドット区切りの文字列を指定できるようになったので、ListDelegateFieldの記述なんかもちょっと簡単にできる。 models.py こんなモデ…
Pythonのdatetimeオブジェクトにはstrftimeというフォーマットを指定して文字列表現を返すメソッドがあるけど、それでカバーできないパターンのときなどに使う。 django.utils.dateformat.formatはDjangoの日時フォーマットを行うフィルタの元の関数。 ドキ…
表題の通り。メモ。 AppEngineのSDKは、これを書いてる現在はDjangoの0.96がカレントバージョンで、SDK内部にはDjango 1.2も含まれている。 1.2に切り替える場合はアプリケーションのディレクトリに appengine_config.py を作成して1行書く。 webapp_django_…
AppEngineのwebappでdjangoのフォームを使うと、settings.LANGUAGE_CODEがen-usなのでエラーメッセージが英語になって残念ですよね。 その解決方法など。 main.py 単純なテンプレートでフォームを表示してis_validするだけのコード。 import os from google.…
昨日のリンクまとめが使いやすかったので、Djangoについてもまとめてみた。数が多いのでちょっと大変だった。 各項目の上のほうが新しい記事で下に行くほど古いです。 古い記事は、Djangoのバージョンも古いので役に立たない可能性有り。内容が酷い物もある…
PostGISのST_Simplifyを使うとPOLYGONやLINESTRINGの形状を単純化できる。 GeoDjangoからはGEOSGeometryのsimplifyメソッドを使えばよい。 Django1.3で試した。 >>> line_string.simplify? Type: instancemethod Base Class: <type 'instancemethod'> String Form: <bound method LineString.simplify of <LineString object at 0xa4ed5f0>> Namespace: Int</bound></type>…
Django1.3で、汎用ビュー(generic views)が関数からクラスベースのものに変更されました。 http://docs.djangoproject.com/en/1.3/ref/class-based-views/ 使い方などをメモ。 1.2からのマイグレーションについても、ドキュメントに書かれている。 http://do…
メモ。GeoDjangoのGeometryFieldはデフォルトでは2次元だけど、3次元にする場合。 dimオプションを3にする。 class MyAddr(models.Model): pnt = models.PointField(dim=3) 参考 http://www.syndim.org/docs/django/ref/contrib/gis/model-api.html#dim
社内向け。 tokibitoの知識が偏ってるので、もっといろいろ知りたいなら社内チャットで他の人にも聞くこと。 Python easy_install setuptoolsかdistributeというパッケージで使えるコマンド。 @aodag 曰くsetuptools使わずに、distribute使えという話。 イン…
Django1.3がリリースされましたね Django 1.3 released | Weblog | Django Django 1.3 release notes | Django documentation | Django
OnTimeHandlerの追加と指定ユーザへメッセージを送るAPIが追加されてます。 django-skypehub 0.2.0 : Python Package Index
DNSサーバをいろいろ試しているところ。 PowerDNSはバックエンドにRDBMSなどを使えるDNSサーバ。 今回はMySQL5.1で試す。OSはubuntu9.10。 PowerDNS 2.9.22, Django 1.2.5. MySQLをインストール。 $ sudo aptitude install mysql-server PowerDNSをインスト…
bpmappers 0.3をリリースしました。 bpmappers 0.3 : Python Package Index 今回はDelegateFieldに関するマイナーな変更のみ。 追ってドキュメントは更新していきます。 こんな感じのモデルがあったとします。 from django.db import models class Person(mo…
仕事が忙しくてあんまり追えてなかったんですが、Django1.3が今月末ぐらいにはリリースされるかもしれないみたいです。 Django 1.3 release schedule - Update 3 | Weblog | Django 今配布されてる1.3系のアーカイブはbetaなので、次はRCですね。 1.3では、c…
とりあえずDjangoを動かしてみたい人向け? Python-hack-a-thon4で使われなかった(参加者いなかったので)アプリの紹介を今さら。 Djangoをインストール済みの環境であればすぐに動かせます。 Django1.2.4で動作確認。 入手 bitbucketに置いています。 tokibi…
メモ。django.contrib.sessionsのセッションキーが毎回変わる?とかそんな話が出てて、どういう動きするんだったか調べてた。 Djangoのバージョンは1.2.4。 適当に書いたview関数。 views.py from django.http import HttpResponse from random import choic…
djagno.utils.datastructures.SortedDict >>> from django.utils.datastructures import SortedDict >>> d = SortedDict() >>> d['hoge'] = 'fuga' >>> d {'hoge': 'fuga'} >>> d['foo'] = 'bar' >>> d {'hoge': 'fuga', 'foo': 'bar'} >>> d.keyOrder ['hog…
hfunaiの記事に便乗。 http://blog.monospace.jp/2010/10/31/django_piston_intro/ django-pistonを使うとDjangoで簡単にWebAPIを作れます。 jespern / django-piston / wiki / Home — Bitbucket fields/excludeにフィールド名を指定すると、必要なフィール…
id:moriyoshi が php-in-python を作ったらしいので使ってみました。 moriyoshi / php-in-python — Bitbucket django経由でphpinfoを表示させようと思ったけど、CLI版のせいかテキスト表示であんまり面白く無いので、CakePHPを動かしてみました。 settings.p…
Apache/modwsgi環境でサイトルート直下以外にDjangoを設置する方法。 Djangoのプロジェクトをサイトルート以外にデプロイする-解決編 - 偏った言語信者の垂れ流し 以前同じようなタイトルで書いたのだけど、そのときはDjango0.97preだったので、Django1.2の…
BPStudy#37でDjangoのフォームの話とdjango.utilsの話をしました。 BPStudy#37 : ATND スライド スライドはs6.jsベースで作っています。 http://tokibito.orz.hm/presentation/9/
3人でdjangodashやってました。 http://djangodash.com/teams/beproud/ beproud / eventstream — Bitbucket
Djangoの管理画面の一覧表示でページング(ページネーション)表示がありますが、あれを通常のページで使う方法です。 django.contrib.admin.views.main.ChangeListオブジェクトを管理画面で使っているのですが、これのモックを作って使ってみました。 Django…