Django2.0入門以前(その1)
以前にDjangoチュートリアルを試してみて、途中で撃沈(つまりハマって挫折)してたりしましたが、この度Django2.0になったことで再度トライしてみることに。
環境
- Python3.6
- Windows10
- Virtualbox(ゲストCentOS7 )
とはいえチュートリアルとかドキュメント類を読めないヘタレ庶民なので、
ここは分かりやすい学習コンテンツをぱく参考にチャレンジ。
以下の学習コンテンツを参考
www.udemy.com
- Microblogを作っていく
- (初心者としては)説明がしっかりしていてテンポもよく非常に分かりやすかった
- Python入門が省かれていてすぐにDjango学習に進むことができるのが良かった
- 当然、これだけで使いこなせるわけではない
他のはPython入門やその他基礎にコンテンツを割いているので、何もかも初めての人にはそっちのがいいかもです。
環境構築
CentOS7にTeraTermでアクセスし、install.shを作成
# まずはupdate sudo yum update -y sudo yum install -y vim git wget nginx # Pyenvのインストール sudo yum -y install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel sudo curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash sudo echo 'export PATH="~/.pyenv/bin:$PATH"' >> ~/.bash_profile sudo echo 'eval "$(pyenv init -)"' >> ~/.bash_profile sudo echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile source ~/.bash_profile # Python3.6のインストール pyenv install 3.6.4 pyenv global 3.6.4 pyenv rehash # pipとDjangoのインストール sudo yum -y install python-devel sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm sudo yum -y install python-pip sudo pip install --upgrade pip sudo pip install django
うまくいけば、Django2.0の環境が整うため、さっそくDjangoプロジェクトを作成。
$ mkdir projects $ cd projects/ # microblogというプロジェクトを作成 $ django-admin startproject mircroblog $ cd mircroblog/ # blogというアプリを作成 $ ./manage.py startapp blog
ここまで実行したらローカルサーバーを起動してアクセスしますが、
その前にVirtualbox(CentOS7 )へのアクセスなので settings.py を編集。
sudo vim /home/hogeuser/microblog/microblog/settings.py ALLOWED_HOSTS = ['CentOS7 のIPアドレス']
のように設定。
それと selinuxを
sudo setenforce 0
そしたら改めてローカルサーバーを起動
# Djangoのローカルサーバーを起動 $ python manage.py runserver CentOS7 のIPアドレス:8000 Performing system checks... System check identified no issues (0 silenced). April 29, 2018 - 16:55:28 Django version 2.0.4, using settings 'microblog.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
IPアドレス:8000 にアクセスすると
こんな画面がでれば成功です!
firewall や selinux をオフにするやらでハマっていましたが、まずは一安心です。