DISTRICT 37

なにか

Djangoのテスト

テストの書き方としてModelのテスト、FORMのテスト、VIEWのテストをやったらいいのかなと。Djangoのテストフレームワークpythonのunittestに準じているので単体テストとなる。という事でバグを出さないことはもちろんのこと後述するCoverageを100%に近づけるのが目標となる。

という事で以降に自分がテストを書くときの方針をメモしていく

続きを読む

Djangoをherokuで動かす

表題のことがやりたかった。codeanywhereからでもできたのがうれしい。

herokuチュートリアル

環境構築に関しては割愛。

devcenter.heroku.com

で、サインアップできたとして、ここをやればなんとなく流れがわかる。このチュートリアルの例がDjangoだったのでこれを参考にやればよい。ソースがわからなくなったらgitを見に行けばいい。良いお手本なので、一回は手を動かすに越したことはない。

流れとしてはこんな感じ

  • git clone
  • heroku login
  • heroku create
  • git push heroku master

微妙に違っているところもあれば、中には有料のaddonといった簡単には試せないものもある。これでおおむね理解ができる。

django on heroku

で、実際に自分でやるにはちょっとしたコンフィグが必要になる

heroku本家による設定ガイドはこちら

devcenter.heroku.com

  • プロジェクト構成

チュートリアルで落としたgitのソースを見るとプロジェクトルートをgitのルートにしたらいい事がわかる。ほかのディレクトリ構成だとだめなのかはわからないので、素直にチュートリアルのとおりやっておいたら良い。「django-admin startproject XXX」とやってgitの環境もそろったところでこんなディレクトリ構成になるかと

XXX
  |-.git
  |-XXX
  - manage.py
  - .gitignore
  - README.md


  • gunicornのインストール

チュートリアルで見る限りgunicornで動かす事になるのでインストール。インストールはPipfileに書き込むためにもpipenvコマンドを使ってインストール。

pipenv install gunicorn


  • Procfileの作成

これも必要なので作っておく

echo 'web: gunicorn XXX.wsgi' > Procfile

XXXの部分はstartprojectしたプロジェクト名になる


  • django_herokuのインストール

さらにherokuで動かす用のライブラリもいれる。こちらもpipenvを使ってインストール

pipenv install django-heroku


  • settings.pyの編集

インストールが終わったらsettings.pyに下記の項目を追記。設定ガイドにはimportの文が無いので注意

import django_heroku
django_heroku.settings(locals())

あとはpython manage.py startappでもなんでもやってアプリケーションを作ったらいい。

codeanywhereでもできる

という事で、これらをcodeanywhereでもやってみたらできた。shellが動くのでなんでもできちゃう形だ。herokuCLIもcodeanywhere上にインストールできる。なんか途中で環境変数の設定でダメだった箇所があるけど、どの場面だったかは覚えていない。やったことは覚えてるので、そのコードはこちら

echo 'export LC_ALL=C.UTF-8' >> .bashrc
echo 'export LANG=C.UTF-8' >> .bashrc

文字列を見る限り文字コードの設定とかそういったところかと。

これでiPadによる開発と公開ができないわけではなくなったが、正直iPadでやる開発はレスポンスとかそういうところでいろいろつらい。キーボードでもあれば比較的効率は良いのかもしれない。ただ、手持ちのBlueToothキーボードがどうしてもUS配列になっちゃうんですよねぇ。これがなんとかなればいうことないんですがね。

CodeanywhereでDjangoをやってみる

最終目標としてはiPadでコーディングしたい!働き方改革や!

追記

dragstar.hatenablog.com

CodeanyWhere

codeanywhere.com

CodeanyWhereとはクラウドIDEと呼ばれるブラウザがあればコーディングができるというシロモノ。解説は「Codeanywhereとは」とかでGoogleしたら出てくるのでここでは割愛。今回はCodeanywhereを使ってDjangoをやってみることにした。

続きを読む

ブラックジャックを作ろう2

前回の続き。おソースをちょっと拡張してみた。

dragstar.hatenablog.com

勝ったら掛け金を2倍に、引き分けたら掛け金が戻り、負けたら掛け金が持ってかれるというルールを加えた。そうしてディーラーと同じ考え方をしてみたらどうなるかという事をやってみた。

結果はというと大体勝率が4割に落ち着くことが分かった。しかも全然稼げないというおまけも添えて。

続きを読む