2012-06-01から1ヶ月間の記事一覧
PythonのMigrationツールSouthのチュートリアルをやったときのメモ書きです http://ae35.bitbucket.org/south-doc-ja/tutorial/index.html 最初のマイグレーション マイグレーションファイル作成 python manage.py schemamigration southtut --initialマイグ…
ChromeでUserAgentを変更してテストしようと思って、何か拡張機能を入れるのかなと思って調べたら、デフォルトのデベロッパーツール(⌥⌘I)でできた。 便利
POSTで画像アップロードがあるフォームのテストを書く方法を調べる機会があったのでメモしておく from django.test import TestCase class UploadTest(TestCase): def test_upload(self): with open('test.jpg') as f: res = self.client.post('images/uploa…
jQueryを使って、type属性がfileのinputの入力値をクリアしたい、というケースがありまして $('input[type=file]').val('') 最初はとくに何も考えず、こんな感じで書いてて、chromeで動かしてる限りは問題なかったんですが、 IE8で動かしてみると入力値がク…
存在は知っていたけど、あまり使うことがなかった。 が、今日は使いたいと思うケースに遭遇したので、使い方をメモしておく複数のシーケンスに並行して同時にアクセスするforループを書くのに便利。 python # coding=utf-8 seq1 = [1,2,3,4,5] seq2 = ['a','…
request.POST(QueryDict)から値を取得する際、チェックボックスのようにname属性が同じinputタグが複数ある場合はgetlistを使う <form method="post"> <input type="checkbox" value="1" name="books"> <input type="checkbox" value="2" name="books"> <input type="checkbox" value="3" name="books"> </form> print request.POST # =>
SHA-1とは 認証やデジタル署名などに使われるハッシュ関数(要約関数)のひとつ。2の64乗ビット以下の原文から160ビットの「ハッシュ値」を生成し、通信経路の両端で比較することで、通信途中で原文が改ざんされていないかを検出することができる。計算方法に…
ちょっとjava系言語で作ってみたいwebアプリを思いついたので、ときどき目にするPlay!Frameworkをwith Intellijで触ってみようと思いました。 サンプルアプリを始めるまで 環境はMac OSX Lionです 1. Play! Frameworkをインストール手順はこちらに http://ww…
jQueryのセレクタで取得した要素をいったんgetで普通の配列にして、jsのreverseで逆順にした後、jQueryのオブジェクトに戻す <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> $(function(){ $($("li").get().reverse()).each(function() { console.log($(this).text()); }); }); </script> </head> </html>
jQuery UIのProgressBarですが、valueの値によって色を変えたい場合どうするのかなと思って調べたら、そういうオプションってないみたいなのでhttp://jqueryui.com/demos/progressbar/ <script> $(function() { $( "#progressbar" ).progressbar({ value: 37 }); }); </script>…
Djangoでリダイレクト先にメッセージを表示したくて調べてみました。Railsでいうflashメッセージみたいな機能です。railsでの開発からちょっと離れているのですが、たしかこんな感じで、コントローラに記述すれば、リダイレクト先でhogeを表示できた flash[:…
jQuery使っていい場合。 サブミットの代わりに別の処理させたい場合はdo_somethingの位置に記述する $("form input").bind("keypress", function(e) { if (e.keyCode == 13) { e.preventDefault(); #do_something(); return false; } });
books_book title price フェルマーの最終定理 781 暗号解読(上) 590 暗号解読(下) 630 Python プロフェッショナルプログラミング 2800 エキスパートPythonプログラミング 3600 スタートアップ! 1600 こんなテーブルがあったとして、SQLで価格毎の冊数をカウ…
kay-frameworkでごにょごにょと個人的なアプリ作ってて、何も考えずにセッションを使おうとしたら使えなかったときのメモ kay-frameworkでセッションを使うには設定が必要 手順1settings.pyのINSTALLED_APPSに'kay.sessions'を追加 INSTALLED_APPS = ( 'kay.…
2つのdatetime型の期間内の日毎、または月毎にdatetimeを返すジェネレータ start_dateとend_dateの前後関係などは考慮していない # coding=utf-8 from datetime import datetime, timedelta from dateutil.relativedelta import relativedelta def date_span…
jQueryでcheckboxのチェック状態を取得しようとして、ミスったときのメモ 間違った例。チェック状態に関わらず"on"が返された $('input[type=checkbox]').val() // => "on" 正しいとおもわれる例。ベストかどうかは知らない。 チェック状態によってtrueかfal…
このあいだなんとなく描いてみたYoutubeをjsで連続再生するサンプルですが、埋め込みが不許可の動画が入っているとそこで再生がストップしてしまうので、その場合、処理を飛ばすようにしてみました。 <html> <body> <div id="player"></div> <script> var tag = document.createElement('script'); tag.s</body></html>…
Djangoさわってて、「IS NULL」ってQuerysetでどうやるんだっけ、と思って調べたのでメモしておく 例えば以下のBookモデルがあるとして class City(models.Model): name = models.CharField(max_length=30) class Person(models.Model): hometown = models.F…
子要素を探すのにはfind <p><span>Hello</span>, how are you?</p> <p>Me? I'm <span>good</span>.</p> $("p").find("span").css('color','red'); 親要素を探す場合はclosest <ul> <li><b>Click me!</b></li> <li>You can also <b>Click me!</b></li> </ul> $( document ).bind("click", function( e ) { $( e.target ).closest("li").toggleC…
python from datetime import datetime s = "2012-06-11 12:20:36" d = datetime.strptime(s, "%Y-%m-%d %H:%M:%S") print d # => 2012-06-11 12:20:36 ruby require 'date' s = "2012-06-11 12:20:36" d = DateTime.strptime(s, "%Y-%m-%d %H:%M:%S") print…
bs4の内部でlxmlを使用するので、そのあたりがエラーっぽい。以下のページによるとpython2.7だとlxmlは使えるはずなんだけど。https://developers.google.com/appengine/docs/python/tools/libraries27どうしてもbs4を使いたい理由があるわけじゃないので、B…
使用するライブラリをインストールします pip install python-tumblpyhttps://github.com/michaelhelmick/python-tumblpy 手順1 Tumblrアプリの登録をして、 OAuth Consumer KeyとSecret Keyを取得します。 コールバックURLは適当にlocalhost:8000とかを入れ…
設定ファイルに1行追加/etc/my.cnf [mysqld] log=/var/log/mysql/mysql.log 出力先はあらかじめ作成しておく。書き込み権限をつけなきゃだめだったかも。 mkdir -p /var/log/mysql/ touch /var/log/mysql/mysql.log あとはmysqlをリスタートすれば、出力され…
Django 1.4からdjangoのQuerySetでselect_for_updateが使えるようになりましたので、簡単に試してみました。 動かしているのは昨日select_relatedの動きを見るのに作ったサンプルアプリです。 sqliteでは試せないのでMySQLを使うようにsettings.pyを変更しま…
webアプリではオブジェクトの一覧を表示する画面がよくでてきます。 一覧系の画面が妙に遅い場合、SQLが大量に発行されている(N+1問題)場合があります。 例えばDjangoで、以下のように関連しているモデルがあるとします。(Django 1.4) books/models.py from…
javascriptでcookieに値を保存する場合はJQueryとjquery.cookie.jsを使うと便利です。https://github.com/carhartl/jquery-cookie // cookieを保存 $.cookie('the_cookie', 'the_value'); // cookieを取り出し $.cookie('the_cookie'); // 有効期限を指定し…
django-debug-toolbarを入れるのが簡単ですが、1つのクエリだけちょろっと確認したいなんて場合は、printデバッグでも十分かと。 qs = Model.objects.filter(name='test') print qs.query ちなみにdjango-tool-barを使う場合は、pipなりeasy_installなりで…
ドキュメントにあるGetting Startedのサンプルをちょっと変えて、連続再生をさせてみました。 onStateChangeで再生終了イベントを拾い、リストの次のidを再生させてます。 ドキュメント https://developers.google.com/youtube/iframe_api_reference index.h…
require_GETやrequire_POSTというデコレータが用意されているのでそれが使えます。 from django.views.decorators.http import require_POST, require_GET @require_GET def get_only(request): pass @require_POST def post_only(request): pass もっと柔軟…
先日、以下のモデルとデータで、「Publisherごとにratingが3.0以上のBookの数をカウントしたい」場合の取得方法を調べたのだが、 Bookレコードを1つも持たないPublisherのデータがある場合、レコードが返されないことに気がついた。 class Publisher(models.…