Pythonの素人がDjangoアプリケーションをlocalhostで立ち上げるまで
これまで全くPythonは触ったことなかったのですが、機械学習ブームだったり、Ruby25のイベントでMatzさんがPythonの話をしてたりしたので、すこし興味がありました。
RubyやPHP、JavaScriptと同じスクリプト言語だし、ちょっと見てみたいな、と思ったところで、こんな本が出ていました。
「ふりがなプログラミング」シリーズは話題になっていたので個人的に欲しいなと思っていたのですが、せっかくなら未履修の言語をやってみたいと思ったので、JavaScriptではなくPythonの方を買ってみました。
内容はプログラミング未経験者向けなので、変数や関数、リストやループなどの基本的なしくみが、Pythonの文法も含めて、しっかり解説されていました。
このあたり、自分は学生時代にJavaの入門書で独学したのですが、ここまでやさしくは説明されていなかったので、結構大変だった記憶があります。いい時代になったなあ。
Pythonの文法は、SlimやSass(not Scss)、CoffeeScriptなどのように基本閉じなくてよくて、インデントやスペースで制御されている感じなのが楽でいいなーと思いました。
あとは前述の通りスクリプト言語なので、普段RubyとJavaScriptをやっている自分でも、ハードルに感じた内容は特になかったように思います。解説もやさしかったし。
Djangoを使ってみる
さて、本題に戻ります。Djangoですね。
今のところ自分は機械学習に対してハードルを感じているので、RailsやLaravelみたいなアプリケーションなら触れそうだと思ったのが、Djangoを触ってみようと思ったきっかけです。
ただ、Ruby on RailsやVue CLI、Nuxt.jsみたいな爆速initに慣れてしまった身には、Djangoの公式ドキュメントが少しハードル高めに感じたので(笑)、最終的にはDjango Girls Tutorialを参考に進めていくのが良かったです。
並行して、日本語では以下の記事を参考にさせていただきました。
pythonのインストール
自分は別のプロジェクトの関係で direnv
と pyenv
を使っていました。
なので、まずは pyenv
を使って3系のPythonをインストールしました。
$ pyenv install 3.6.1
次に、プロジェクト用のディレクトリを作成します。
$ mkdir django-tutorial $ cd django-tutorial
direnv
を使うために、以下の記述のある .envrc
を作成します。
pyenv local 3.6.1
あとは、以下のコマンドを使えば、このプロジェクトの中だけでpython3.6.1を動かすことができるようになります。
$ direnv allow
Python仮想環境のためのvirtualenv導入
ここでは以下の記事を参考にさせていただきました。
上記の通りに進めていきます。
$ sudo easy_install virtualenv # すでにプロジェクト用のディレクトリ内にいるため、カレントディレクトリで実行 $ virtualenv --no-site-packages . $ source bin/activate
Djangoプロジェクトの作成
Django Girls Tutorialにしたがって、Djangoをインストールします。
Django自体は、もっと新しいバージョンが出ているようですね。
$ pip install django~=1.11.0
Djangoのプロジェクトを作成します。
$ django-admin.py startproject mysite .
migrateします。
$ cd mysite
$ python manage.py migrate
ここまで進んだら、以下のコマンドでローカルサーバーを立ち上げることができます。
http://127.0.0.1:8000/
から確認してみましょう。
$ python manage.py runserver
ローカル環境を立ち上げるのはここまでですが、Django Girls Tutorialではmodelやviewの作成など、実際にPythonを用いて定義していく部分も含まれますので、Pythonを文法をサッと学んだ身としては、ここからが醍醐味だなあ、という感じです。