アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


Python

Python / PostgreSQL on Heroku でpsycopg2がない & pg_configがないと怒られる時

Herokuでアプリケーションをデプロイしようと思ったら、 ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2 とエラーが出ました。 どうやらpsycopg2は、DjangoでPostgreSQLに接続しようとすると必須のライブラリっぽい? そこ…

Django1.5でINSTALLED_APPSのデフォルト値からdjango.contrib.sitesが消えた

Django1.4以前の設定ファイルを使いまわそうとして、こういうエラーが出ました。 You're using the Django "sites framework" without having set the SITE_ID setting. Create a site in your database and set the SITE_ID setting to fix this error. 表…

HerokuでSouthを使う

HerokuでSouthを使う場合、いきなり $heroku run python manage.py migrate mydjangoapp とかやってると、 The app 'createtuto' does not appear to use migrations とかって言われる。 southはmigrate/ ディレクトリをつくってその中にmigration用のファイ…

Django on Heroku でステージングと本番サーバーを運用する

herokuは、ステージング環境も無料で作れてしまうのがありがたいです。 しかもわずか数ステップで! さっそくやってみます。 前提として、現在運用中のherokuアプリケーションとリポジトリがあったとして、 そのリポジトリ内で行います。 heroku上にアプリを…

django-skelの使い方

基本は 公式ドキュメント の丸写しで、自分用メモです。 プロジェクトの作成 startprojectコマンドは、 --template= 以下のURLにある プロジェクトテンプレートでプロジェクトを作成することができる。 my_project という名前のプロジェクトを作成。 $ djang…

django-southの使い方

しょっちゅう忘れるので自分用メモ。 初期設定 1.southのインストール pip install south 2.settings の INSTALLED_APPSに「south」追加 INSTALLED_APPS += ( 'south', ) 3.DBにsouthテーブルを作成する python manage.py syncdb 最初のMigrate python…

hirokiky さんの講義「使える Django 1.4」がとてもわかりやすい

@hirokiky さんの Django & Pyramid Con JP 2012での講義が、 Django初心者向け講義動画としてとてもわかりやすかった 自分もDjangoでアプリケーションを10個くらい作りましたが、 まだまだ初心者クラス。 Djangoの設計思想などを復習する意味でも、とてもよ…

django-skel便利そう

メモ。 http://d.hatena.ne.jp/hirokiky/20120702/1341231182 http://utisam.dip.jp/blog/2013/01/02/django-skel/ http://surgo.jp/2010/02/django.html

gunicornで走っているプロセスを調べてkill

gunicorn を含むプロセスを列挙 ps ax|grep gunicorn こんな感じでプロセスが表示されるので 25250 pts/6 S+ 0:00 /home/xxx/xxx/xxx/gunicorn_django -b 0.0.0.0:8000 25212 pts/6 S+ 0:00 /home/xxx/xxx/xxx/gunicorn_django -b 0.0.0.0:8000 21345 pts/0 …

EC2にvirtualenvで仮想環境をつくる

やってみた。 Python2.7.3とDjango1.4.3入れてみた。 参考 virtualenv, virtualenvwrapper, pip を使う方法 Bouldering & Com. EC2上にPython実行環境を作った話 yumのアップデート、pip、virtualenv、wrapperをインストール sudo yum -y update sudo easy_i…

Heroku + Amazon S3 + Django + PIL での注意点

Heroku + S3環境で、フォームからアップされた画像をPillow(PIL)で リサイズ&トリミング(Cropping)するアプリをDjango1.4で作っていて、 3時間くらいハマってしまいました。 注意点を備忘。 Pillowは最新の2.0.0でなく、1.7.8を使用する 主な原因はコレでし…

Amazon S3の画像ファイルをPillow(PIL) で読み込みたい場合

django-storagesを使って画像ファイルは全て S3サーバに保存しているんですが、 default_strage.open()してから一度StringIOに変換して、、、 とかめんどくさいことをやってたけど、 これで行けることに今更気づく。備忘。 from PIL import Image #my_model…

Djangoの静的ファイルを自動でAmazon S3サーバーにアップする

Djangoアプリを本番環境にデプロイするにあたり、 静的ファイルを全部本番環境にアップしたい。 今後自分はherokuを使うことが多く、静的ファイル用のサーバーを Amazon S3に置くことが多くなりそうなので、 楽な方法が無いか調べてみた。 1. django-strage…

Python最高!って話とPython初心者ならPyCharmを使うのがオススメって話

Pythonを触り始めて半年くらいになりますが、 小規模なWEBアプリケーションやサーバサイドプログラムなら自力で作れるようになりました。 もともとフロントエンド(Flash、Objective-c、HTML/CSSなど)をずっとやってきた人間ですが、 昔から興味があったサー…

PyCharmで使うvirtualenv環境とターミナルで使うvirtualenv環境を一緒にしたい

基本的なことですが、ちょっと迷ったのでメモ。 virtualenvが参照しているディレクトリを PyCharmが参照しているディレクトリに書き換えればOKですね。 これは .zshrc (もしくは .bashrc) で設定されています。 vim .zshrc で編集画面に入り、 export WORKON…

ローカルのDjangoアプリケーションをHerokuにデプロイする手順

基本はHeroku公式 Getting Started with Django on Heroku を見ながらやればいいのですが、 過去にHerokuにデプロイした事があってHeroku用の環境は整ってるんだけど、 別のアプリを作ってデプロイしたい時に毎度「あれ、、どっからやればいいんだっけ、、、…

DjangoでModelの内容からXMLやJSONを出力する

超簡単です。 基本的にはserializerに'json'か'xml'と、クエリセット渡してあげればOK。 jsonのところでゴニョゴニョやってるのは文字化け対策です。 from django.http import HttpResponse from django.core import serializers items = モデル名.objects.a…

DjangoでModelの内容を変更した時にDB側も変更する

Djangoでモデルを定義して python manage.py syncdb したあと、モデルに変更を加えたい場合があります。 しかし、変更を加えた後に再び syncdbしても、 反映されません。 これはDjangoの仕様によるものです。 一応、 python manage.py reset python manage.p…

Pythonのタプル、リストの違い

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でフォーム内の複数のチェックボックスから値を受け取るには

例えば以下のようなフォームがあったとして <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') とすれば、リストで受け取れる。

Pythonで日本語を使う

ファイルの頭に # -*- coding: utf-8 -*- を書けばおk! 参考リンク Pythonで日本語を使う

Djangoで相対っぽくパスを指定する (Django1.4.3)

Djangoで開発やってると、ローカルでテストした後にサーバでテストする際、 templateディレクトリとかのパスがローカルとサーバで違うから、 いちいち指定するのがめんどくさいっす。 対処法 Pythonのosモジュールを使って解決します。 # setting.py import …

Pythonの正規表現まとめ

文字 内容 マッチする例 . 改行以外の任意の文字にマッチ t.nakat●naka ^ 文字列の先頭とマッチ ^tata●●●... $ 文字列の末尾、または文字列の末尾の改行の直前にマッチ ka$...●●●ka * 直前の要素を任意の個数(0個以上)続けたものにマッチ。 ab*a, ab, abbbb.…

Python(Django) でdatetimeオブジェクトをdateオブジェクトに変換する

以下でdatetimeオブジェクトを取得したとして now = datetime.datetime.now() 以下でdateオブジェクトを取得できる。 today = now.date() Djangoでtimezone.now() を日付オブジェクトに変換 from django.utils import timezone timezone.now().date() これで…

pythonzをインストール

今までPythonのバージョン管理にはpythonbrewを使っていましたが、 「これからはpythonzの方がいいぜ!」とbrewの作者さん自身が言っていたので、 pythonzに切り替える事にしました。 筆者環境 MaxOSX10.7 (lion) pythonzの設定 curl -kL https://raw.github…