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

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


Django

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

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…

Heroku のDjangoアプリケーションに便利なパフォーマンス監視ツール "New Relic" を導入する

アプリケーションのパフォーマンスを調べるために、 超ベンリだと評判のパフォーマンス監視ツールNew Relicを入れてみました。 ブラウザのページロードの時間、アプリケーションのレスポンスタイムなど 色んなパフォーマンスがグラフで見れるので便利。しか…

ローカルの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…

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') とすれば、リストで受け取れる。

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

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

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

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