DISTRICT 37

なにか

CodeanywhereでDjangoをやってみる

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

追記

dragstar.hatenablog.com

CodeanyWhere

codeanywhere.com

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

まずはサインアップが必要なのだが、githubアカウントがあればそれでOK。特に難しいことはない。まずはConnectionというのを作れという画面が上がってくる。ここでDjango Ubuntu14.04を選択してスタート

f:id:dragstarclassic:20180607132553p:plain

向こう側でコンテナをデプロイする間は少し待つ。そうこうするとディレクトリが完成する。構成はこんな感じ。

f:id:dragstarclassic:20180607133042p:plain

おお!Djangoっぽい感じは出てる!これはstartprojectした後だろうか?タブにshellが起動されていたので、そのprojectnameへとディレクトリを移動して「python manage.py startapp hello」としても「djangoってなんやねん」という回答をいただく。まさかと思って「django-admin」と打っても同様に「django-adminなんてコマンドようしらんわ」という回答をいただく。このあたりでどうもサラの状態なんじゃないかと疑う。

f:id:dragstarclassic:20180607133747p:plain

pipは入っているという事なので、「pip list」するとDjangoは確かに入っていない。という事でDjangoの導入を試みる。すると「すまんな、Djangoはpython3.4からじゃないと動かんのや」という返事をもらえた。あぁ本当に何も入っていないんだなとここで確信。

f:id:dragstarclassic:20180607134133p:plain

python -Vとやると2系となる、python3 -Vとすると3系となる。どうしたらいいんだ?という事でここは基本に立ち返ってpipenvからのインストールから始めてみることにした。sudoの権限はもらえているようなのでapt installもpipのインストールもできる!

f:id:dragstarclassic:20180607134223p:plain

環境準備

ここからがようやく本番。pyenvからDjangoまでをインストールし、Djangoのテストサーバの起動までを。説明不要かとは思いますが、Djangoの環境を作るまでのコードがこちら。

# pyenvインストール
cd ~
sudo apt update
sudo apt install libssl-dev libsqlite3-dev -y
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source .bashrc

# pyenv設定
pyenv install 3.6.5
pyenv global 3.6.5
pyenv rehash

# pipenvとdjangoのインストール
pip install pipenv
pip install django

# 確認
python -m django --versoin

f:id:dragstarclassic:20180607135934p:plain

これでpython3系とDjangoが使えるようになった。という事で環境準備編はおしまい

サーバの起動

環境準備が終わったらDjangoプロジェクトの作成からサーバの起動までを確認する。みんな一度はお世話になったチュートリアル先生も参照するとよい。

はじめての Django アプリ作成、その 1 | Django documentation | Django

# djangoプロジェクトの開始
django-admin startproject mysite

Djangoディレクトリができたらまずはmysite/setting.pyを編集。実はシェルからvimも使えるのですが、せっかくなのでCodeanywhere上で編集。対象は28行目あたりのALLOWED_HOSTSのところ

f:id:dragstarclassic:20180607141849p:plain

編集が終わったらサーバの起動

python manage.py runserver 0:8000

いよいよアクセス。ここでコンテナを右クリメニューのinfoから出てくるこの画面を見てみる

Hello Container

Django Development stack with Python 3, pip and virtualenv preinstalled.

This Codeanywhere Container comes with:

    2GB of Disc Storage
    256MB RAM (+ 512 MB swap)
    Sudo access
    SSH access on host12.codeanyhost.com:30983
    Access to all HTTP and Websocket ports

The operating system running on this Container is Ubuntu 14.04 (64 bit). Ubuntu uses Advanced Packaging Tool (apt) package manager. You can read more here: apt-get

To access an application running on your Container use the following link (ports 1024-9999 available):

    http://xxxxxxxxxxxxxxxxx.codeanyapp.com 

To access your application over HTTPS, make sure your application is running on port 3000 and use the following link:

    https://xxxxxxxxxxxxxxxxx.codeanyapp.com

If the port is blocked by your firewall you can connect through the standard HTTP port: (replace XX with port you have specified in your app)

    http://port-XX.xxxxxxxxxxxxxxxxx.codeanyapp.com

下のほうに出てくるURLに接続すると出てくる。最後に出てくるURLの奴が意外に重要で、FWがポートをブロックしているとかで、どうしようもない場合はここがアクセスできる砦となる。こういうかゆいところに届く所はなかなか好印象

f:id:dragstarclassic:20180607140735p:plain

という事で例の画面がでたので、あとは開発をするだけ。結局最初に作られていたディレクトリが何なのかはわからないという事でこちらからは以上です。