Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
50
Help us understand the problem. What is going on with this article?
@244mix

5分でできるVagrantでDjangoの環境構築

More than 5 years have passed since last update.

Webアプリケーションの開発をする方法としてフレームワークを使用する方法があります。フレームワークには色々とありますが今回はPythonで開発ができるDjangoを使用します。また、開発環境の構築方法としてテスト用のローカルの環境を作りたいのでVagrantを使用して作成します。

Vagrantのセットアップ

Vagrantの初期化と起動

今回はゲストOSとしてUbuntuを使用します。Vagrantのインストールは事前にしておいてください。また、VMとしてVirtualBoxを使用しています。

また、vagrantのboxとしては”hashicorp/precise64”を使用しています。Vagrantのboxに入っていない場合には次のコマンドによりVagrantのboxに追加をしておいてください。

$ vagrant box add hashicorp/precise64

Vagrantを実行する際には適当なフォルダを作成して、その中で実行するのが良いでしょう。ここでは、~/Vagrant/Djangoというフォルダを作りそこで実行しています。

$ mkdir -p ~/Vagrant/Django
$ cd ~/Vagrant/Django
$ vagrant init hasjicorp/precise64

できたVagrantファイルの設定を変更します。ここではlocalhost(127.0.0.1)のポート12345でDjangoにアクセスするようにします。
適当なエディタでVagrantfileを開きます。

$ vim Vagrantfile

ファイル内に以下の内容を追加します。

config.vm.network "forwarded_port", guest: 8000, host: 12345

設定した条件でVagrantを起動します。

$ vagrant up

起動したVM内に入ります。

$ vagrant ssh

Djangoのインストールと起動

起動したVM上にDjangoをインストールします。

まずpipをインストールします。pipはPythonで書かれたパッケージソフトウェアをインストール・管理するためのパッケージ管理システムです。これを使うことにより、簡単にDjangoをインストールすることができるようになります。

vagrant@precise64:~$ sudo apt-get install python-pip

pipによりDjangoをインストールします。その後、django-admin.pyを使ってプロジェクトを作成します。

vagrant@precise64:~$ sudo pip install Django
vagrant@precise64:~$ sudo django-admin.py startproject spam

DBのマイグレードを行いサーバを動かします。Djangoはポート8000で動作していますが、ホスト側からはVagrantで設定した127.0.0.1:12345からアクセスすることになります。

vagrant@precise64:~$ cd spam/
vagrant@precise64:~/spam$ sudo python manage.py migrate
vagrant@precise64:~/spam$ sudo python manage.py runserver 0.0.0.0:8000

起動後にVagrantファイルで事前に設定したローカルホスト(127.0.0.1:12345)にアクセスすることで、Djangoが動作していることがわかります。

Welcome_to_Django_と_Welcome_to_Django.png

50
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
244mix
組み込み系のエンジニアです。最近はWEBまわりの開発に興味ありでちまちまといじっております。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
50
Help us understand the problem. What is going on with this article?