プログラミングメモ帳

プログラミングで躓いた部分を中心としたIT土方的メモ。

ModelFormを利用して生成されるHTMLフォーム内の要素のnameタグを変更する

Django で Model を利用して入力画面を作る際には ModelForm クラスを利用しますが、 Model のフィールド名と、投げられるリクエストの名前規則が一致しないことがあります。 リクエストを投げる側の動作を変更したくない(できない)場合、以下のように、Mode…

argparseでハイフン入りオプションを使う

前略、pythonのargparseは非常に便利です。 add_argument()の第一引数 name に対して--fooのような文字列を与えてやると、parse_args()で得られるオブジェクトに対して.fooでアクセスし値を取ってこれる、という便利な実装になっています。 具体的にはこうい…

XmlSlurper の出力時に tag0 名前空間が付かないようにする

XmlSlurper クラスを利用して XML ドキュメントを読み込んだあと、 いろいろ処理をしたあとに書き出してみたら <tag0:xxx> という名前空間になってしまって困る場合の対処法。 import groovy.xml.StreamingMarkupBuilder import groovy.xml.XmlUtil def doc = new XmlS</tag0:xxx>…

paint/paintComponentが呼ばれてないぞ?と思ったら

オーバーライドするとき、super() の呼び忘れがないかを確認する。 public class TestJPanel extends JPanel { public TestJPanel() { setBackground(Color.cyan); } protected void paintComponent(Graphics g) { super.paintComponent(g); // 背景を描く g…

ImportError: No module named PyQt4

brew install pyqtをしたあとに import PyQt4をしたら ImportError: No module named PyQt4と怒られてしまったときのメモ。 export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATHを.bashrcもしくは.bash_profileに追加すればOK。 $ python…

Segmentation fault: 11

PythonでOpenCVを使おうとして brew install opencvは成功したものの、 import cvをした場合にSegmentation fault: 11が出てしまった場合について。"which python"でパスを調べると、/usr/bin/pythonになっている場合は、 export PATH=/usr/local/bin:$PATH…