【Cloud9】Python3.4のdjango1.11で1ミリも理解せずに環境構築してみる

##この記事の目的
Python? django? 環境構築? 正しい理解?

![komakai.jpg](https://qiita-image-store.s3.amazonaws.com/0/172223/927dab89-b84a-0984-98af-cee1b477d339.jpeg)

**とりあえずdjango使って動かしたい！！！！( ˇωˇ )**

やる気はあるのに環境構築で躓くなんてヤダヤダヤダ！
という事で、Python歴、django歴1日目の私から1ミリも理解せずに環境構築をお送り致します。
##正しいドキュメントを読めばおｋ
https://docs.djangoproject.com/en/1.11/intro/tutorial01/
現時点では1.11がdjangoの最新だけれど、今後更新された場合は上のURLを1.12とかに変更すればそれが最新のドキュメントです。以上。

##ローカルでの環境構築？
「ドキュメント読めばわかるよ、てへっ」だと流石に投げやり過ぎるので説明をしていこうかと。でも細かい所まではしないよ。できないよ！！
<a href="https://www.python.org/downloads/">Pythonの公式</a>とか<a href="https://www.continuum.io/downloads">ANACONDA</a>とかでPythonを動かす環境をローカルに作っても良いけど、

- 重い
- 思いの外、時間がかかる
- なんかよくわからん

初めてPythonに触る人はきっとこうなっちゃう。
![mayoi.jpg](https://qiita-image-store.s3.amazonaws.com/0/172223/00ef3cc3-b595-96af-e75f-2946d2ae68d9.jpeg)


##とりあえずCloud9に登録する所からしよっか

- インストール不要
- 登録するだけでおｋ
- 色々環境が整ってる
- デプロイしやすいぞー！


**ということで、<a href="https://c9.io/">Cloud9</a>を使おう！！**

##django、ワークスペース作るってよ
Cloud9にログインすると以下のようなページにアクセスします。
[Create a new workspace]でワークスペースをつくってみましょ。
![cloud9.JPG](https://qiita-image-store.s3.amazonaws.com/0/172223/45070dc1-98e3-61cd-8e05-25a50fca9570.jpeg)

すると以下のようなページに遷移するので、公式ドキュメントに倣ってWorkspace Nameを**「mysite」**、下のテンプレートからは**「django」**を選択して[Create workspace]を押してください。
![workspace.png](https://qiita-image-store.s3.amazonaws.com/0/172223/c9a07ce2-cf11-4a91-1eb7-555403594f77.png)

##Pythonとdjangoのバージョンを確認
ワークスペースが作れたら以下のような画面に遷移します。
![start.JPG](https://qiita-image-store.s3.amazonaws.com/0/172223/b945877f-c02c-edb5-0620-4d31a6bc1ec1.jpeg)

さて、まずやることはバージョンの確認です。
公式ドキュメントでは**Python3.4以上、django1.11が前提**とされています。
bashで以下の様に入力してバージョンを確認してみましょう。

```Python:bash
python --version
python -m django --version
```
実行結果
![version.jpg](https://qiita-image-store.s3.amazonaws.com/0/172223/dc39b2c9-71b9-c3a9-39c4-ca76e02f6e2b.jpeg)
はい古いー、はいふるいー。ということでバージョンを上げます。

##Pythonとdjangoのバージョンを上げる

何も考えずに以下をbashで実行してみよう。
###Python3へのシンボリックリンク張り
```python:bash
sudo mv /usr/bin/python /usr/bin/python2
sudo ln -s /usr/bin/python3 /usr/bin/python
python --version
```
実行結果
![python-version-up.JPG](https://qiita-image-store.s3.amazonaws.com/0/172223/9448d54d-9d1a-d247-325d-37f0d867822b.jpeg)

###djangoの再インストール
```python:bash
sudo pip3 install django
python -m django --version
```
実行結果
![django-version-up.JPG](https://qiita-image-store.s3.amazonaws.com/0/172223/e03d0d92-05dc-40bd-8961-c40dcaf2ac5a.jpeg)
これで前提条件は整いました！
次はアプリケーションを作ってみましょう。
##アプリケーションの作成
以下を実行して「polls」というアプリケーションを作成します。

```Python:bash
python manage.py startapp polls
```
実行結果
![application.jpg](https://qiita-image-store.s3.amazonaws.com/0/172223/ef80ee6b-78ae-dcba-1610-cbf9f476fd2e.jpeg)
上記の様に、「polls」というフォルダとその直下に諸々のファイルが作成されます。これでアプリケーションの作成完了！
##Viewを書き換える
これも公式ドキュメントに倣って、views.pyを以下の様に変更します。

```Python:polls/views.py
from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")
```

![view.JPG](https://qiita-image-store.s3.amazonaws.com/0/172223/3d5a409a-abcf-ca05-9a67-092670a483aa.jpeg)
view部分はこれだけでおｋ！
##urls.pyを書き換える
こちらも公式ドキュメントに倣うだけ！
といってもテキトーに読み流してやってみてアレ？となったのでちゃんとドキュメントは読もう！

###pollsフォルダ直下にurls.pyを作成
pollsフォルダを右クリックすると色々とコンテキストメニューが表示されるので、その中の[New File]を選択。
![polls-urls.jpg](https://qiita-image-store.s3.amazonaws.com/0/172223/78636879-5f8e-241a-3ecc-1d086c4b6dbf.jpeg)
新たにファイルができるので[urls.py]とファイル名を付けて以下をコピペコピペ

```Python:polls/urls.py
from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]
```

![polls-urls-code.jpg](https://qiita-image-store.s3.amazonaws.com/0/172223/fd61e53d-e133-ed8c-6506-b4cff2acda17.jpeg)

###プロジェクト側のurls.pyを書き換える

```Python:mysite/urls.py
from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', admin.site.urls),
]
```

![mysite-urls.JPG](https://qiita-image-store.s3.amazonaws.com/0/172223/3d0d2851-e015-8b6c-2221-a575896387d5.jpeg)

##実行してみる
ここまで出来たら実際に動かしてみましょう。
右上の[Run Project]をクリックしてください。
![RunProject.jpg](https://qiita-image-store.s3.amazonaws.com/0/172223/cfcdc447-8536-e6a8-d922-334c1c5bb979.jpeg)

以下のようなログが吐き出されるはず
![running.JPG](https://qiita-image-store.s3.amazonaws.com/0/172223/e88d9367-122f-61a3-b352-2150d4126ab4.jpeg)

プロジェクト実行時にURLが出力されます。今回で言うと以下のURLです。アクセスしてみてください。
https://mysite-karimata.c9users.io

飛んでみると… あれ？飛べない？
![page-not-found.JPG](https://qiita-image-store.s3.amazonaws.com/0/172223/9ca3dd66-282f-7c68-6262-4fff22fedba1.jpeg)

それもそのはず。今回作ったのは「polls」というページです。URLの末尾に「polls」を付与してみてください(https://mysite-karimata.c9users.io/polls/ )。そうすると…！
![polls.JPG](https://qiita-image-store.s3.amazonaws.com/0/172223/15d95357-6e25-0160-4f46-d401298ff776.jpeg)
はい表示できましたー！
とりあえずこれで最低限の環境は作れました！
やったねたえちゃん！Pythonができるよ！
##まとめ
上記の流れに沿ってやればマジで1ミリも理解してなくたってdjangoを使った環境構築ができます。細かい所は追々学んでいくとして、**まずは動かせる！**という所から入って心理的な障壁を下げていきましょう！

では、よいPythonライフを！