2017/05/13

autopep8

pep8 とかよくわかってなかったときに書いたコードなので、今開くと至る所で linter がエラーを吐く。エラー表示がめんどくさいのでとりあえず一括置換してエラーを抑えた

find ./**/*.py -type f -name '*.py' -print -exec autopep8 -i --aggressive --ignore E123,E711,E712 --max-line-length=300 '{}' \;s

django.contrib.auth.user.get_profile

大昔は django.contrib.auth.userget_profile メソッドが生えていた気がしたけど最近のものには無くなっていた。UserProfile model から User model へ fk field が貼られていたのを OneToOneField に変更し、 request.user.get_profile() でアクセスしていた箇所を request.user.profile に全て直した。 AUTH_PROFILE_MODULE 設定ももう無いらしい。

2017/04/18

古い Django からの移行

だいぶ古い Django で動いているアプリケーションを最新のものにあげる作業をしている。runserver で起動すらしないので10個近いバージョンのリリースログから変更点を探しながら書き換えている。直したい箇所だらけだけど先にバージョンアップを終わらせないと移行が終わらない。

django-storages を Google Cloud Storage (GCS) で使う

S3 をバックエンドにした情報はいくらでも出て来るけど GCS に切り替える話は探してもあまり出てこなくて時間を食ったので書いておく。

GCP に差し替えるための設定を settings.py に。

MEDIA_URL = 'https://{projectid}.storage.googleapis.com/'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

AWS_ACCESS_KEY_ID = 'AAAAAAAAAAAA'
AWS_SECRET_ACCESS_KEY = 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'
AWS_STORAGE_BUCKET_NAME = '{bucket_name}'
AWS_S3_ENDPOINT_URL = 'http://storage.googleapis.com/'

AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY に設定する値は下の画面から取得できた。

f:id:wozozo:20170418203017p:plain