Java以外の言語を書いたことがなかったので、過去に挫折したpythonをもう一度頑張ってみることにしたお話。
##環境
OS : CentOS 7
Python : Python3.6.3
Django : Django1.11.7
CentOS 7はMac上でvagrantを使い、VirtualBoxに構築。
vagrantでCentOS 7を構築
(´・ω・`)筆者は半年以上前のversionで構築したため、現行versionですんなり動作するかは不明
(´・ω・`)詳しい構築方法は割愛します
VirtualBox をインストール
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp
Vagrantをインストール
https://www.vagrantup.com/
Vagrantfileを作成
CentOS 7のBOXを利用したいので、こんな感じで書きました。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.hostname = "forPython"
config.vm.box = "centos/7"
config.vm.network "private_network", ip: "192.168.33.30"
end
以下のコマンドを実行してCentOS 7を構築
vagrant up
以下のコマンドを実行して、ログインできることを確認する
vagrant ssh
Last login: Fri Nov 10 07:39:10 2017 from 10.0.2.2
[vagrant@forPython ~]$
(`・ω・´)いい感じにログインできたっ!
Python3.6をインストール
※筆者は以下をAnsibleでやらせました。ので、それのコマンド版を記載。
以下の手順で、Python3.6.3をインストゥール
・iusリポジトリをインストール
# yum install https://centos7.iuscommunity.org/ius-release.rpm
・Python3.6.3 をインストール
# yum install python36u
・pipもインストール
# yum install python36u-pip
(`・ω・´)準備できたっ!
##Djangoをインストール
以下のコマンドで、Djangoをインストール
# pip3.6 install Django
念のためちゃんとインストールされたか確認
# ls /usr/lib/python3.6/site-packages/django/
__init__.py __pycache__ bin contrib db forms middleware template test utils
__main__.py apps conf core dispatch http shortcuts.py templatetags urls views
(`・ω・´)大丈夫だねっ!
##Djangoのプロジェクトを作成
作成方法は以下のサイトを参考にする。
https://docs.djangoproject.com/ja/1.11/intro/tutorial01/
・プロジェクトを配置するディレクトリを作成
$ mkdir /home/vagrant/workspace/Django_project
・そしてディレクトリへ移動
$ cd /home/vagrant/workspace/Django_project
・以下のコマンドを実行してプロジェクトを作成
$ django-admin startproject mysite
・プロジェクトの中身を確認
$ ls
mysite
$ ls mysite
db.sqlite3 manage.py mysite
$ ls mysite/mysite
__init__.py __pycache__ settings.py urls.py wsgi.py
(`・ω・´)できてるねっ!
##開発用サーバを起動してアクセスしてみる
・開発用サーバを起動する
$ python3.6 manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
November 10, 2017 - 09:56:05
Django version 1.11.7, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
(´・ω・`)こいつ、動くぞ・・・!
・別窓でCentOSへログインし、アクセス確認
$ curl 127.0.0.1:8000
<!DOCTYPE html>
<html lang="en"><head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE"><title>Welcome to Django</title>
(以下割愛)
(´・ω・`))おぉ、なんか帰ってきた!
・開発用サーバのログを確認
Performing system checks...
System check identified no issues (0 silenced).
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
November 10, 2017 - 09:56:05
Django version 1.11.7, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[10/Nov/2017 09:58:11] "GET / HTTP/1.1" 200 1716
(´・ω・`)うん、今さっきのアクセスで200を返したみたいだね!
と、言うわけで
「とりあえず」Djangoを動かすことができました。
(´・ω・`)数年前に一度チャレンジした時はど素人だったから、
ここまですら到達できなかったから素直に嬉しい。
これからこいつに玄関ページを作成して、機能を追加して遊べるように頑張って作り込んで行こう(∩´∀`)∩