Python

py2exeでハマったことの解決法

環境は Windows + Python 2.7.2 + virtualenv 1.7 UAC で管理者権限を要求する # -*- encoding: utf-8 -*- from distutils.core import setup import py2exe #python setup.py py2exe するために必要 setup( console = [{'script' : 'hoge.py', 'uac_info' :…

Windows, Apache, mod_python な環境で virtualenv 上の django を動かしてみた

環境構築に使ったリポジトリはここ https://bitbucket.org/toruuetani/virtualenv-modpython-test基本的にはここのまま。 http://mydjangoblog.com/2009/03/30/django-mod_python-and-virtualenv/ なぜ必要か Pythonはsite-packages以下にすべてのライブラリ…

django.db.transaction.commit_on_successデコレータの挙動はいまいち

ちょっとハマったのでメモしておく。commit_on_successデコレータは、その名の通り関数が成功したらコミットする。その関数の開始時にトランザクションを開始したりはしない。既存のコネクションがあればそれを利用する。したがって、commit_on_successデコ…

Sphinx&Graphvizで日本語を含むグラフを出力する方法

※ 環境は以前(id:re_guzy:20101012)と同じ http://sphinx-users.jp/doc10/ext/graphviz.html 基本的にはドキュメントを見ればOKだが、日本語を記述すると文字化けするので、その回避策をメモしておく。まずはconf.pyでgraphviz拡張を有効にする。 # conf.p…

Windows環境でSphinxを使って日本語PDFを作成するメモ

参考URL http://sphinx-users.jp/gettingstarted/install_windows.html http://sphinx-users.jp/cookbook/pdf/rst2pdf.html 前提条件 easy_installで依存ライブラリもインストールされるはず。今回試したのは以下のバージョン。 python 2.6.6 docutils 0.7 j…

py2exeで生成するexeの名前を指定する方法

いくら検索してもpy2exeで生成するexeの名前を指定する方法が見つからなかったのでメモしておく。 キーになるのは「dest_base」。生成するexeの種類によって指定の仕方が異なるので注意。 # -*- encoding: utf-8 -*- from distutils.core import setup py2ex…

インストールしないでPython2.6を動かしてみた

ずいぶん前にした質問を自己解決できそうなので、その手順をメモしておく。 使ったのはPython2.6.6+Windows7。コピーして試してみたのはWindowsXP。 Python2.6.6のインストール まずはネタ元のPythonをインストール。重要なのは「Install just for me」。こ…

FormWizardを使いこなすための注意点

環境はPython2.5+Django1.0.3trunkをみてもdjango/contrib/formtools/wizard.pyの最終更新はr8679なので、Django1.1でも同じかな。 問題点 基本的な使い方はドキュメントにあるとおりだが、おそらく実際には使えない。問題は3つ。 FormWizardのextra_conte…

既存モデルを拡張する

Python2.5 + Django1.0.2で動作確認ずみ。Djangoで既存モデルを拡張したい場合、アプローチは2つある。 マルチテーブル継承を使う。 ForeignKeyで既存モデルを参照する。 マルチテーブル継承を使う 前者のマルチテーブル継承は、Django1.0からの機能でかな…

管理サイト外で日付選択ウィジェットを使う

管理サイトの日付選択ウィジェットを、管理サイト外で使いたいって要望は結構あるんじゃないかな。まずはurls.pyでjsi18nへのマッピングを追加しておく。これがないと、テンプレートでadmin/jsi18nを参照しないといけない。ただしadmin配下なので、スタッフ…

インライン編集するモデルの削除チェックボックスを非表示にする。

http://groups.google.com/group/django-users/browse_thread/thread/631fbc97b54f023e/16b6a85f1a4b5c94?lnk=raot&pli=1同じことを考える人はいるもんだ。とりあえず解決法としては、django.forms.models.BaseInlineFormSetのサブクラスをdjango.contrib.ad…

newformsでUserProfileをインライン編集する(1.0対応)

admin.site.unregisterで、既存のUserAdminからカスタムしたUserAdminのサブクラスに入れ替えてやればいい。当然ながら、UserAdminのサブクラスは普通のModelAdminと同じようにカスタマイズできる。 # -*- encoding: utf-8 -*- from django.contrib import a…

django.forms.ModelChoiceFieldをカスタマイズ

newformsは奥が深い。(1.0final前提。1.0rc1だとうまく動かない)たとえば、django.contrib.auth.models.Userを拡張するこんなモデルがあったとして。(user.get_profile() で UserProfile が取れるように設定しておく) class Department(models.Model): name…

Django 1.0beta1で作ったアプリを1.0rc1で動かすためにやったこと。

1.0rc1リリース記念。 saveメソッドのシグネチャ変更 http://docs.djangoproject.com/en/dev/ref/models/instances/#saving-objects beta1からrc1にアップデートしたら、軒並みテストに失敗したので焦った。force_insert と force_update が追加された。なの…

Django 0.97preで作ったアプリを 1.0beta1 で動かすためにやったこと

互換性の無い変更はここらへんを参考に。 http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges newforms-admin のマージ http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges#Mergednewforms-adminintotrunk http://www.djangop…

PythonでSNMPを扱うためのメモ

SNMP SETを送信したかったんだけど、ろくに情報がないのでメモしておく。 Python SNMP frameworkとりあえずこれがメジャーなのかな? TwistedSNMP, PySNMP-SEこれはよくわからない。Twistedのサブプロジェクト?TwistedSNMPにはPySNMPまたはPySNMP-SEが必要…

Djangoアプリ用setupスクリプト

Djangoアプリを複数のWinマシンにインストールする必要に駆られて試行錯誤していたら、なんとなく形になったのでメモしておく。 20080410追記 国際化用ファイルの考慮が漏れていたので修正した。 setup.py # -*- encoding: utf-8 -*- from distutils.core im…

ちょっとした覚え書き

書いておかないと忘れそうなのでメモ。Django 0.96 用。 Apache での認証に Django のユーザデータベースを使う http://michilu.com/django/doc-ja/apache_auth/ できなかった。入力してもパスしない。 やりたいのは、 Subversion と trac の認証を Django …

Djangoの認証をActive Directoryで

Djangoを使った社内アプリで、ユーザ登録を自分でやってもらうところまで出来たんだけど、このアプリのためにIDとパスワードを覚えるのがめんどくさい。 社内で Active Directory が動いているんだから、それを使って認証できないか試してみたらなんとなく動…

管理画面でファイル名に日本語を含むファイルをアップロードしてみる

前提とする環境は http://d.hatena.ne.jp/re_guzy/20070424/p1 と同じ。 Windows 2003 Server、Python 2.4.4、 Django 0.96(SQLite使用) で動作確認済み。※oldformsを使っているので、Django 0.96 より後のリリースでは動かないはず。 困ったこと FileField…

ある条件下で、Qオブジェクトを使ってOR演算すると期待した通りにならない

原因がわからないので、後で調べるためにメモしておく。 環境はPython2.5、Django0.96、WindowsVista・XPで確認した。 例えばこんなモデルがあったとして、 from django.db import models class GrandChild(models.Model): name = models.CharField(maxlengt…

ManyToManyのフィールドを持つモデルの初回save時に、参照先が取得できない問題に対処する。

モデル保存時に何かしたい場合は、saveメソッドをオーバーライドすれば大抵のことはできる。 なんだけど、ManyToManyのフィールドを持つ場合はうまくいかない。 それを何とかしようといろいろやってたら、いい方法が見つかったのでメモ。 (Python 2.5, Djan…

Djangoでジェネリックビューの続き

via http://d.hatena.ne.jp/Voluntas/20070325/1174799784 via http://d.hatena.ne.jp/akkt/20070325/1174809264 いきなり2人からトラックバック頂いて少々焦り気味ですが。 コメントだと長くなりそうなので、こちらに書いてみます。 def search_auther(req…

Djangoのジェネリックビューで検索結果を表示してみる

最近社内で使うアプリをDjangoで作ってみてるわけなんだけど、Djangoすごすぎ。 C#とかJavaで作ったら結構工数かかるよなー、っていう管理系画面がコマンド一発で作れる。 しかもWebアプリでありがちな画面のための仕組みが用意されてて、ページングまでして…

IronPython を中継して、C#からPythonライブラリを使ってみる

IronPython 1.0.1Python の.NET実装 pyExcelerator 0.6.3aEXCEL ファイルを Python から読み書きするライブラリ IronPython から Python ライブラリを使うことは難しくないということなのでやってみた。 それだけじゃ面白くないので、さらにC#を連携させてみ…

Python で Amazon ECS 4.0 にアクセスしてみる

参考にしたところ http://www.goodpic.com/mt/archives2/2004/10/amazon_ecs_401.html http://trac.atzm.org/index.cgi/wiki/PyAmazon Python から Amazon E-Commerce Service (ECS) にアクセスするライブラリは、今のところこれくらいしか見つからない。 py…