Django Girls Tutorial
Djangoのチュートリアルをいろいろ探してみた結果、「Django Girls Tutorial」がとても良心的に感じました。
Web開発の経験がない人でも一人で進められるのではと思うほどの丁寧さでした。
-
よかったところ
- 基本的な部分だけシンプルにさらうことができる
- deprecatedな部分がなさそう
- 数時間でおわる
- ほとんどの用語に丁寧な説明がある
-
チュートリアルの概要
- Django以前の背景知識
- Internetとは
- Comannd lineとは
- Pythonとは
- Djangoのインストール
- プロジェクト、アプリケーション立ち上げ
- DB,モデル,ORMについて
- Django URLs,Viewについて
- Herokuデプロイ
- など
- Django以前の背景知識
これをやった後、本家のチュートリアルや他のサイトで勉強するとスムーズかなと思いました。
コードはこことかに上がっていて安心。
その他のDjangoチュートリアルまとめ
-
http://qiita.com/kaki_k/items/511611cadac1d0c69c54
- IDEとかBootstrapまで丁寧に説明されていて書籍管理サイトを作成するチュートリアル
-
https://docs.djangoproject.com/en/1.10/intro/tutorial01/
- 本家のチュートリアル(英語)
-
http://www.tutorialspoint.com/django/django_environment.htm
- セッションやキャッシュなど網羅範囲が広いチュートリアル(英語)
-
https://realpython.com/learn/start-django/
- チュートリアルというよりかはセットアップ方法かも
チュートリアルのおおまかな流れ
これ以降はチュートリアルに沿ってやったことや参考にしたURLの備忘録。(大幅にはしょってますが)
- 環境とバージョン
- OS:OS X
- Python:3.5
- Django:1.10
Djangoのセットアップ
virtualenvで仮想環境の構築と実行
$python3 -m venv myvenv
$source myvenv/bin/activate
Djangoのインストール
$pip install django~=1.10
プロジェクト作成(mysiteプロジェクト)
$ django-admin.py startproject mysite
いろいろファイルが作成される。
mysite/settings.py
でルートディレクトリと利用するDBを設定して、migrateする
$ python manage.py migrate
アプリケーションとモデル作成
Djangoでは、一つのプロジェクトが複数のアプリケーションで構成されるらしい。
以下のコマンドでmysiteプロジェクト以下にblogアプリケーションのフォルダとファイルが作成される。
$ python manage.py startapp blog
mysite/settings.py
でアプリケーションを追加したことを定義し、blog/models.py
でauthor,title,textなどをもつPostモデルを定義
作成したモデルをDBに反映
$ python manage.py makemigrations blog
$ python manage.py migrate blog
ローカルでのサーバー立ち上げをすると http://127.0.0.1:8000/admin
でアクセスが可能に
$ python manage.py runserver
Admin
blog/admin.py
を編集しモデルをAdminページで管理可能にする。
以下のコマンドsuperuserが作成できる。migrateも忘れずに
$ python manage.py createsuperuser
$ python manage.py migrate blog
herokuデプロイ
Heroku利用に必要なライブラリのインストールや依存関係の宣言など
- 参考
$ pip install dj-database-url gunicorn whitenoise
$ echo 'psycopg2==2.5.4' >> requirements.txt
$ echo 'web: gunicorn mysite.wsgi' > Procfile
$ echo python-3.5.2 >runtime.txt
以下のファイルを編集してからgit init/add/commit
- mysite/local_settings.py
- mysite/settings.py
- mysite/wsgi.py
そのあとは、Herokuに登録してpushして、migrateとsuperuserの設定してできあがり!
$ heroku create HEROKU-APP-NAME
$ git push heroku master
$ heroku run python manage.py migrate
$ heroku run python manage.py createsuperuser
Cannot run more than 1 Free size dynos.
とかいうエラーでたら、他のコンソールでのherokuアクセスしてることに怒られてるから、他のコンソールでのアクセスを終了させる(解説)
最後に
一応GitHubにあげました。