今日学んだこと

読書感想文とか、勉強した内容とか

nitrous.ioを使ったはじめてのWebサービス構築(Djangoを使ってみよう編)

作ったサービスの宣伝ばかりで、読み手の人を考えないブログになりつつあったので、ちょっと一旦方針を戻し、お勉強ネタを

Webサービス公開後にTwitterやハテブコメントで多く見た意見の中で「自分も何か作ってみようか」というのが多くありました。そんな訳で、何回かに分けてWebサービスの作り方を解説してみようかなと思います。

もし良さそうだと思ったら、ブクマお願いします!後編書く励みになるので・・・

環境作るの面倒だよ!

ご安心ください。今回利用するのはこちら、nitrous.ioです。ないとらす と発音している様に聞こえます。

f:id:nakazye:20141107001350p:plain

これはなんぞ?というと、エディタから実行環境、きわめつけには簡易サーバー機能まで持ち合わせた、ブラウザ一つで開発可能な優れものです。以前、ちょっと使ったのを思い出したので、こちらを利用して解説していこうかと思います。

まずはユーザー作成

こちらはあまり解説するようなことでもないので省略で。至って普通です。

環境を作ってみよう

まず、Open Dashboardを開きます。

f:id:nakazye:20141107001641p:plain

続いて、new boxを選択

f:id:nakazye:20141107001823p:plain

Pythonを選択して、適当なアプリケーション名を入れましょう。入れたらcreate boxボタンで

f:id:nakazye:20141107002043p:plain

しばらく待つと、こんな画面に切り替わります

f:id:nakazye:20141107002258p:plain

下の方がコンソールになっていて

python --version

と打つと、Python2.7.6が入っているのがわかります。

f:id:nakazye:20141107002505p:plain

ここに、環境をつくっていきます。

==以下理解できなくても問題なし =============

django自体は入っているんですが、なぜかパスが通ってません。.bashrcなり書き換えてもいいんですが、公式がvirtualenv推奨している様なので、そっち使います。環境混在させるわけじゃないんだから、無駄だと思うんだけど・・・

=======================================

まずは、おもむろに以下のコマンドを実行

pip install virtualenv

f:id:nakazye:20141107003829p:plain

続いて以下のコマンドを実行

cd workspace
virtualenv venv
source venv/bin/activate

コンソールの頭に(venv)と付くことを確認してください。

f:id:nakazye:20141107004226p:plain

そうしたら、次は以下のコマンドを実行。インストール作業は終わりです。

pip install django

f:id:nakazye:20141107004423p:plain

次はプロジェクトの作成

次は、いよいよプログラムを作成していきます。とはいっても、一から全てを作ると大変なので、テンプレートを作成します。

以下のコマンドを実行してください。

django-admin.py startproject <アプリケーション名>
ls

すると、アプリケーション名でフォルダができていることがわかるかと思います。

f:id:nakazye:20141107004758p:plain

確認できたら、

cd <アプリケーション名>

でフォルダに移動して、

python manage.py migrate
python manage.py runserver 0.0.0.0:8080

と実行してください。

f:id:nakazye:20141107005449p:plain

これで、実はサーバーが起動しました。

メニューから、下の画像の位置のport 8080を選ぶと・・・

f:id:nakazye:20141107005656p:plain

選ぶと・・・

f:id:nakazye:20141107005755p:plain

こんな画面が!このサービスが用意している画面ではなく、一連の操作で作ったテンプレートプログラムが表示している画面です!

試しにソースを書き換えてみましょう

②には、自分でしていしたアプリケーション名を入れてください

f:id:nakazye:20141107010123p:plain

続いて以下も編集。②のtestappとした部分は、自身のアプリケーション名を入れてください。

f:id:nakazye:20141107010501p:plain

続いてファイル作成。

f:id:nakazye:20141107010811p:plain

できたファイルに、以下の文をコピペして保存し・・・・

# -*- coding: utf-8 -*-

from django.http import HttpResponse

def main(request):
  return HttpResponse(u"焼肉食べたい!")

f:id:nakazye:20141107011614p:plain

先ほど開いたページの後ろに/topとつけてアクセスすると・・・

f:id:nakazye:20141107011829p:plain

焼肉食べたいの文字が!!

 

以上で、環境がちゃんと動いてることが確認できました。

次回は、これをアプリケーションっぽくしていこうかと思います。

 

久しぶりにPython2.x使ったなぁ・・・

 

-- 追記

後編書きました!