ほんじゃーねっと

おっさんがやせたがったり食べたがったりする日常エッセイ

2007-01-01から1年間の記事一覧

djangoでアプリのデータベースデータをリセットする

備忘メモ。Windowsでの開発時に使える。 python manage.py reset [app名] python manage.py loaddata [fixture名]

Linux上のgvimでM+フォントを使用する。

毎回思い出すのに苦労するのでメモ。 .vimrc set guifont=M+\ 1VM+\ IPAG\ circle\ 11 set printfont=M+\ 1VM+\ IPAG\ circle\ 11 Ubuntu移行をじわじわ進行中。

SQLObjectで昔作ったデータベースのデータを取り出してCSVファイルに落とす

データベースを移行する作業があったので、PythonのORマッパ、SQLObjectを使ってみた。 ついでにCSVファイルに出力する標準モジュールも使ってみる。 mysqlのコマンドだけでできる作業のような気がしないでもない...。 まあ、pythonでデータを操作できるし嬉…

djangoのテンプレートで使うカスタムフィルタを追加する

マニュアルを読めば書いてあるけど、覚書き。 http://michilu.com/django/doc-ja/templates_python/ 以前作成した(というかコピーした)、数値を3桁区切りにする関数を djangoテンプレート上でフィルタとして利用できるようにする。 testproject/utils.py .…

djangoでページング

djangoのマニュアルでは探しきれなかったけど、ページングライブラリがあるようだ。 django.core.paginator.ObjectPaginator でも少し機能が少ないようだったので探してみると、Django snippetsにいくつか登録されていた。 使いやすそうなBetterPaginatorと…

Pythonで辞書を要素とする配列を特定のキーでソート

探したけど見つからなかった。 初めてのlambda。 ranking_list = [] ranking_list.append({"uriage": 30, "shiire": 5, "zairyo": 20 }) ranking_list.append({"uriage": 20, "shiire": 10, "zairyo": 10 }) ranking_list.append({"uriage": 10, "shiire": 1…

Pythonで数値に3桁毎にカンマを入れる

あちこち探して、結局下のエントリと同じdecimalパッケージの マニュアルにサンプルとして掲載されているのを発見。 ここのmoneyfmt関数。 http://www.m-takagi.org/docs/python/lib/decimal-recipes.html print moneyfmt(Decimal("2000"), 0, dp="") # 2,00…

Pythonで10進数計算したり数値を丸めたりする

指定した桁で切り捨てたり四捨五入したり、 2進数だと丸め誤差が生じる計算を正しく行うための標準ライブラリ。 from decimal import * x = Decimal("2.467") y = Decimal("3.512") # 小数点以下を切捨て print Decimal(x).quantize(Decimal('1.'), rounding…

Djangoのnewformsでformオブジェクトからモデルオブジェクトにユーザ入力データをコピーする

周知の事実なのかもしれないが、 ユーザ入力が格納されたフォームオブジェクトをsaveする前に システム側でデータを追加したい場合、フォームオブジェクトの値を 直接変更することができなかったので、フォームオブジェクトに格納された 入力データをモデル…

jQueryでselectメニューで選択中のoptionの表示テキストを取得する

これまたもっといい方法があると思われるが、一応メモしておく。 <script type="text/javascript" src="/static/javascripts/jquery-1.1.3.1.pack.js"></script> <script type="text/javascript"> $(function() { $("#add_customer_btn").click(function() { if ($("#customer_select").val() != "") { var customer_id = $("#customer_select").val(); al…

DjangoAMFでFlex2とDjangoを接続

フロントエンドにFlex2を使ってみようと思った理由の1つとして、 DjangoAMFというミドルウェアを見つけたということが大きい。 http://djangoamf.sourceforge.jp/index.php?DjangoAMF 昔JavaでSeasar2をバックにFlex2を使ったことがあったけど、同じ方法で d…

Papervision3Dを使ってみる

HTML+Javascriptよりも、FlexでMXML+Actionscriptの方が表現の幅が広かったり ブラウザの互換性を気にしなくて良かったりしていいんじゃないの、と思い始めた。 HTMLもJavascriptも使わなくなることはないと思うけど、Silverlightの情報が 増えるまでちょ…

jQuery用のいい画像範囲選択ライブラリが見つからなかったのでprototype.js用ライブラリを使う

javascriptで画像の範囲選択をしたかったのだけど、 jQuery用のinterface.jsの機能ではちょっと物足りなかったので、 prototype.js用のライブラリとして作られたImage Cropper UIライブラリを 使ってみる。 Image Cropper UIライブラリのダウンロードはこち…

jQueryで画像上にあるマウス位置の座標を取得する

画面に対する絶対的な座標の取得方法はすぐ見つかったが、 画像の左上を基点とする座標を取得する方法を見つけるのに手間取ったのでメモ。 マウス座標の取得方法には色々ある(offsetXやらlayerXやら)ようだが、 ブラウザによって取得できる値が異なるみた…

Javascriptで正規表現マッチの後方参照

見つけにくかったのでメモ。 コードがハイライトされるというだけで、ソースを載せたくなるのはなぜだろう。 タグに設定されたid属性から数値で設定されたID値を取得する。 jQueryを使うとリストの中のliタグや、テーブルの中のtdタグに設定された IDを一括…

jQueryとDjangoでJSON形式でサーバから返したリストデータをセレクトメニューに表示

DjangoのJSONデータ生成処理も、jQueryのタグ生成処理もなかなか使いやすい。 jQueryでサーバサイドを呼びだし、サーバサイドでDjangoでModelのリストを JSON化してクライアントに返し、それをselectタグ内のoptionタグとして生成する。 views.py from djang…

jQueryでテーブルのチェックボックスを一括選択するチェックボックスを作成する

Djangoを使う時はJavascriptライブラリにjQueryを使うのが流行らしい。 jQueryは最近注目されている楽しいライブラリのようなので、以前prototype.jsで 実装した、チェックボックス一括チェック処理を書き換えてみる。 <script type="text/javascript" src="/static/javascripts/jquery-1.1.3.1.pack.js"></script> <script type="text/javascript">

Javascriptで文字列型の数値を数値型に変換する

var x = "15" + 5; こう書くと、+は文字列結合演算子として認識されてしまい、xは155となる。 var x = "15" - 0 + 5; 引き算をすると文字列型の数値が数値型に変換され、xは20となる。 ...これが一番いい方法なのか?

Javascriptでテーブルのチェックボックスを一括選択するチェックボックスを作成する

これもまた、とりあえず動くレベル。 prototype.jsを使っている。Djangoのテンプレートだが、あまり関係なし。 <script type="text/javascript" src="/static/javascripts/prototype.js"></script> <script type="text/javascript">

Djangoでアップロードした画像ファイルのサイズを変更して保存する

前回の続き。アップロードがうまくいったので、 Ruby on Railsのfilecolumnプラグインみたいにいくつかのサイズに分けて画像を保存する処理を書いてみる。 色んな言語やフレームワークを触ってみると応用できて良い。 特にRubyとPythonを両方知っておけば相…

PythonでReportLabでPDF出力

どうやらPythonのPDF生成はReportLabがスタンダードっぽいので使う。 Unicodeでの縦書きが難しかったのでDjangoで表示する方法メモ。 views.py ... from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.cidfonts import UnicodeCIDFont from r…

Djangoのファイルアップロード処理

アップロードしたファイルを保存する処理のサンプルが全然見つからなくて苦労した。 やはりこういう新しい技術を使う時はソースを読まねばならんか。 ここでサンプル発見。助かりました。 http://d.hatena.ne.jp/SumiTomohiko/20070126/1169768661 また、画…

Railsであるモデルから関連モデルのリストを取り出す時にソート

UserモデルとArticleモデルがあり、1対多関連(has_many - belongs_to)になっている時に User毎のArticle一覧を表示する場合、例えば日付の新しいArticleから順に表示したい場合 <% for article in @user.articles.find(:all, :order => 'updated_on desc') %…

Javascriptでselectメニュー要素を更新

検索してなかなか見つからなかった情報を解決した時は、エントリにして載せることにした。 将来同じ問題にぶつかった時を考えると、自分がどこかに書いたメモを探すよりも先にWebで検索するだろうし、そんな時に自分が過去に書いたエントリが出てきて解決で…