LoginSignup
19
23

More than 5 years have passed since last update.

もっとも簡単なDjangoをはじめる方法

Last updated at Posted at 2016-10-21

Djangoをはじめてみよう

今までずっとbottleばっかり触ってきたのですが、Djangoにも手を付けようと考えとりあえず環境構築だけしてしまおうというやつです。ずっとPython2系ばかりだったので、最新版のDjangoを導入するにあたり様々躓いたのでまとめておきます。

とりあえずPython3をインストールしておいてください。

仮想環境の構築

仮想環境を作るのが面倒くさい、と思っていたのですが仮想環境を作らないほうが面倒くさいことに気が付きました。皆様におかれましてはソッコーで仮想環境を作ることをオススメいたします。仮想環境作らずにゴニョゴニョやるのは時間的に6時間位無駄です。

Djangoproject とでも名付けてフォルダを作っておきます。ここにザックリと環境を構築していきます。

$ sudo pip install virtualenv
$ sudo pip install virtualenvwrapper

Djangoprojectディレクトリへ移動して構築していきましょう。

$ cd Djangoproject
$ virtualenv --python="`which python3.5`" virtualenv

仮想環境を有効化します。

$ source virtualenv/bin/activate

(virtualenv)~ から始まっていれば成功。

Djangoをインストールして初期設定をする

Djangoprojectディレクトリで仮想環境を有効にしたまま、Djangoをインストールします。

$ sudo pip install django

ちゃんと入ったかどうかは pip freeze で確認してください。
多分Django1.10〜が入っているはず。

プロジェクトを作成します。

$ django-admin startproject mysite

旧Djangoは django-admin.py うんたらだったのでコマンドが変更になってますね。

mysite/
  manage.py
  mysite/
   init.py
   settings.py
   urls.py
   wsgi.py

上記のようになっていれば成功です。次にアプリケーションを作成しましょう。

$ cd mysite
$ python manage.py startapp myapp

myapp/
  init.py
  admin.py
  apps.py
  migrations/
     init.py
  models.py
  tests.py
  views.py

上記構成になっていればOKです。

後はチュートリアルどおりに設定していきます。

myapp/views.py

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world.")

注意するのはここ。myapp/ に urls.py を作成します。

myapp/urls.py
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]
mysite/urls.py
from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^myapp/', include('myapp.urls')),
    url(r'^admin/', admin.site.urls),
]
mysite/settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp', # この文言を追加
]

ここまで出来れば初期設定は完了です。mysite ディレクトリへ戻り

$ python manage.py runserver

で確認できるはずです。

ここまで出来たら次はDjangoでテンプレートを表示させてみましょう。
http://qiita.com/Gen6/items/a5562c36fc5c67c89916

ざっくりとですが本にまとめました。
https://www.amazon.co.jp/dp/B071S25M33

19
23
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
23