2013-02-01から1ヶ月間の記事一覧
mongoDBを使ってWEBアプリケーション作ってみたくて、 でもDjango1.4はまだmongoDBに対応してないということで、 別のフレームワーク、flaskを使ってやってみることに。 いい資料無いかなーと探してたらチュートリアルがあったので、 これをやってみることに…
Pythonを触り始めて半年くらいになりますが、 小規模なWEBアプリケーションやサーバサイドプログラムなら自力で作れるようになりました。 もともとフロントエンド(Flash、Objective-c、HTML/CSSなど)をずっとやってきた人間ですが、 昔から興味があったサー…
Django + Herokuでファイルをアップしてそれを使うみたいな仕組みは Herokuの仕様でNGになってます。 なので、アップされたファイルはAmazon S3に置く、というのがよさそうです。 リクエストや容量がそれなりにならなければ、基本無料ですし、 必要になった…
Django1.0の日本語ドキュメントはググればすぐ見つかるのですが、 Django1.4のはぐぐっても中々出てこず、見つけにくいです。 リンクメモ +SEO的に支援 ということで。 Django1.4の日本語ドキュメント http://docs.djangoproject.jp/ja/latest/contents.html
Preference (環境設定) メニューから Python Interpreters へ行く。 Pythonのゴロマークをポチッと押すと、virtualenv作成用のウィンドウが出る。 virtualenv環境名、インタプリタを選んでOKを押すとvirtualenvが作成されます。
基本的なことですが、ちょっと迷ったのでメモ。 virtualenvが参照しているディレクトリを PyCharmが参照しているディレクトリに書き換えればOKですね。 これは .zshrc (もしくは .bashrc) で設定されています。 vim .zshrc で編集画面に入り、 export WORKON…
ターミナルでfacebook-ios-sdk-masterディレクトリに入り、 scripts/build_framework.sh コマンドを叩くと、FacebookSDK.frameworkが生成されます。
アプリケーションのパフォーマンスを調べるために、 超ベンリだと評判のパフォーマンス監視ツールNew Relicを入れてみました。 ブラウザのページロードの時間、アプリケーションのレスポンスタイムなど 色んなパフォーマンスがグラフで見れるので便利。しか…
ターミナルとかで以下を叩けばおk。 heroku config:add TZ=Asia/Tokyo
Herokuにログインし、ダッシュボードからアプリケーションを選ぶ 「Resouces」タブを選択する(普通はデフォルトで選択されてます) + Get Add-ons ボタンを押す 「scheduler」とかで検索 -> Heroku scheduler を選択 「Select app」で対象のアプリケーショ…
基本はHeroku公式 Getting Started with Django on Heroku を見ながらやればいいのですが、 過去にHerokuにデプロイした事があってHeroku用の環境は整ってるんだけど、 別のアプリを作ってデプロイしたい時に毎度「あれ、、どっからやればいいんだっけ、、、…
超簡単です。 基本的にはserializerに'json'か'xml'と、クエリセット渡してあげればOK。 jsonのところでゴニョゴニョやってるのは文字化け対策です。 from django.http import HttpResponse from django.core import serializers items = モデル名.objects.a…
コマンドラインで DBの作成 sqlite3 hogehoge.sqlite3 hogehoge.sqlite3 が存在するならそれに接続。 していなければ作成して接続。 テーブルを作成 create table テーブル名 (カラム名, カラム名); 全てのテーブルを確認 .tables # "テーブル名" が出力 テ…
Djangoでモデルを定義して python manage.py syncdb したあと、モデルに変更を加えたい場合があります。 しかし、変更を加えた後に再び syncdbしても、 反映されません。 これはDjangoの仕様によるものです。 一応、 python manage.py reset python manage.p…
listはいわゆる配列。 tuple(タプル) は、変更できないlist。 list = ['a', 'b', 'c'] print list[0] # 出力 : a tuple = ['a', 'b', 'c'] print tuple[0] # 出力 : a list[1] = 'E' tuple[1] = 'E' # エラーが出る
Djangoアプリケーションを作成する際、 例えば毎日深夜に自動で他サイトをクロールした結果を モデルに反映させたい場合、 scraper.py みたいなファイルを作って、 cronで毎日自動実行すればいいと思うんですが、 scraper.pyからモデルを参照するためにどう…
例えば以下のようなフォームがあったとして <input type="checkbox" name="test" value="hoge1" checked="checked" /> <input type="checkbox" name="test" value="hoge2" checked="checked" /> 受け取り側のviewなどで checked_list = request.POST.getlist('test') とすれば、リストで受け取れる。
ファイルの頭に # -*- coding: utf-8 -*- を書けばおk! 参考リンク Pythonで日本語を使う
Djangoで開発やってると、ローカルでテストした後にサーバでテストする際、 templateディレクトリとかのパスがローカルとサーバで違うから、 いちいち指定するのがめんどくさいっす。 対処法 Pythonのosモジュールを使って解決します。 # setting.py import …
文字 内容 マッチする例 . 改行以外の任意の文字にマッチ t.nakat●naka ^ 文字列の先頭とマッチ ^tata●●●... $ 文字列の末尾、または文字列の末尾の改行の直前にマッチ ka$...●●●ka * 直前の要素を任意の個数(0個以上)続けたものにマッチ。 ab*a, ab, abbbb.…
以下でdatetimeオブジェクトを取得したとして now = datetime.datetime.now() 以下でdateオブジェクトを取得できる。 today = now.date() Djangoでtimezone.now() を日付オブジェクトに変換 from django.utils import timezone timezone.now().date() これで…
Djangoを最新版にアップデートした。 メモ。 install に -U オプションをつければおk。 pip install パッケージ名 -U ちなみに削除したい時は pip uninstall パッケージ名
今までPythonのバージョン管理にはpythonbrewを使っていましたが、 「これからはpythonzの方がいいぜ!」とbrewの作者さん自身が言っていたので、 pythonzに切り替える事にしました。 筆者環境 MaxOSX10.7 (lion) pythonzの設定 curl -kL https://raw.github…