MultiValueFieldがドキュメント見てもわからなかった。

Form fields | Django documentation | Django

上のドキュメント見てもよくわからなかったので、探しているといい感じに解説しているサイトがあった。

coderwall.com

どうやら、1つのinputに対して、二つのformを取得できるようにカスタマイズできるらしい。

バックグラウンドで動かす方法(runserver)

python runserverを開発環境のバックで回していたい時。

$ nohup python apps/manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 < /dev/null &
$ jobs
$ ps aux | grep runserver
$ %1
$ kill %1

これでいける。disownもあるけど、こっちの方がログアウトしても回せるので便利。

stackoverflow.com

プロセス管理: nohup, disown, kill - Heavy Watal

dev、nullの話

UNIXの部屋 コマンド検索:リダイレクト (*BSD/Linux)

正規表現(sub, match)

python正規表現でcompileしたのちにsubすると対象正規表現を一括で置換してくれる。

以下はアルファベット大文字の後に"_“を入れる変換。「(?!^)…」は…にマッチしたときにマッチしない。ただし、先頭を除く。

import re
UPPER_RE = re.compile('(?!^)([A-Z])')

print UPPER_RE.sub(r'_\1', "DJANGO")

--> D_J_A_N_G_O

文字 -> 文字はreplaceで良さげやけど、正規表現で一括で置換する場合はこっちの方がいい。

付録

この表現使えれば、大量データに対して一括変換の対象項目を抽出できる。

import re

prog = re.compile(pattern)
result = prog.match(string)
if result:
    print 'matchした'