Python

Djangoのインストール

更新日:

今日は、Pythonの代表的なWebフレームワークのDjango(ジャンゴ)をインストールして、Hello World! を表示するまでを調べてみたいと思います。

Djangoのインストール

  1. まず最初に、mkvirtualenvコマンドでpython2.7用の開発環境をpy2.7という名称で作成します。※mkvirtualenvに関しては、『CentOS6.4にvirtualenvのインストール』を参照して下さい。
    [nakada@centos~]$ mkvirtualenv --python=/usr/local/bin/python2.7 py2.7
  2. pipコマンドで、djangoをインストールします。※pipコマンドに関しては、『CentOS6.4にeasy_installとpipのインストール』を参照して下さい。
    (py2.7)[nakada@centos~]$ pip install django

    python040

  3. たったこれだけでdjangoのインストールは完了です。簡単ですね。

プロジェクトの作成

  1. それでは、『Hello World!』表示用のプロジェクトを作成してみましょう。
  2. 任意のディレクトリに移動し、以下のコマンドを入力します。私は、とりあえずこのまま(/home/nakada)で、作成します。
    (py2.7)[nakada@centos~]$ django-admin.py startproject testsite
  3. /home/nakadaディレクトリにtestsiteディレクトリが作成され、その中にtestsiteディレクトリと、manage.pyファイルが作成されました。
  4. testsite/testsiteディレクト内には、__init__.py、settings.py、urls.py、wsgi.pyファイルが作成されています。
    python041
  5. testsiteディレクトリ(/home/nakada/testsite)へ移動します。
    (py2.7)[nakada@centos~]$ cd testsite
    (py2.7)[nakada@centos testsite]$
  6. 開発用のWebサーバーを『0.0.0.0:8080』で起動してみます。※IPアドレスで0.0.0.0を指定すると、全てのPC(IPアドレス)からの通信を許可します。又、ポート番号は、1024~61000の間で、未使用のポートを指定します。詳細は、ウィキペディアの『ポート番号』を参照して下さい。
  7. (py2.7)[nakada@centos testsite]$ python manage.py runserver 0.0.0.0:8080
  8. 下記のように表示され、カーソルが点滅した状態になります。
    python047
  9. ブラウザから、仮想サーバー用の『IPアドレス:ポート番号』と入力してみます。
  10. 下記のように『It worked!』と表示されてDjangoが起動しているのが確認できると思います。
    python043

Hello Worldの表示

  1. それでは、いよいよ『Hello World!』を表示してみたいと思います。Ctrl+Cでrunserverを停止します。testsite/testsite/urls.pyを開きます。
    (py2.7)[nakada@centos testsite]$ vi testsite/urls.py
  2. 9行目の先頭の#を削除して、下記コマンドを有効にします。
    url(r'^$', 'testsite.views.home', name='home'),

    python044

  3. testsite/testsite/views.pyを新規作成します。
    (py2.7)[nakada@centos testsite]$ vi testsite/views.py
  4. 下記のように記述します。
    from django.http import HttpResponse
    def home(request):
        return HttpResponse('Hello World!')
  5. 先ほどと同じように、開発用のWebサーバーを起動します。
    (py2.7)[nakada@centos testsite]$ python manage.py runserver 0.0.0.0:8080
  6. 再度ブラウザを開いてみます。『Hello World!』が、無事表示されました。
    python045

HTMLファイルの表示

  1. 今度は、テンプレートを介してHTMLファイルを表示してみたいと思います。
  2. プロジェクトディレクトリのtestsiteにtemplatesディレクトリを作成し、その中にtestsiteディレクトリを作成します。そしてそのtestsiteディレクトリ内に、home.htmlを作成します。
    (py2.7)[centos@nakada testsite]$ mkdir templates
    (py2.7)[centos@nakada testsite]$ mkdir templates/testsite
    (py2.7)[centos@nakada testsite]$ vi templates/testsite/home.html
  3. 作成したhome.htmlに下記のような簡単なHTMLを記述します。
    <html><body>
      <h1>{{message}}</h1>
      <h2>{{message2}}</h2>
    </body></html>
  4. testsite/testsite/settings.pyを開きます。
    (py2.7)[centos@nakada testsite]$ vi testsite/settings.py
  5. 110行目のTEMPLATE_DIRSに、templatesディレクトリまでの、絶対パスを指定します。
    TEMPLATE_DIRS = (
        '/home/nakada/testsite/templates'
        )
  6. views.pyを開きます。
    (py2.7)[centos@nakada testsite]$ vi testsite/views.py
  7. 下記のように修正します。
    # coding=utf-8
    from django.http import HttpResponse
    from django.template import loader,RequestContext
    def home(request):
        contexts=RequestContext(request,{
        'message': "Hello World!",
        'message2': "ようこそ Pythonワールドへ"
        })
        template=loader.get_template('testsite/home.html')
        return HttpResponse(template.render(contexts))
  8. 再度開発用のWebサーバーを起動してみます。無事home.htmlが表示されました。
    python049

本日は以上です。※ちなみにPython3.3.2でも、上記は、問題なく動作しました。

-Python
-,

Copyright© WinRoad徒然草 , 2018 All Rights Reserved Powered by AFFINGER5.