LoginSignup
13
13

More than 5 years have passed since last update.

Python[Django] de Webサービスを公開するまで [チュートリアル編・パート1]

Posted at

実行環境

★ローカル環境
MacBook Pro (13-inch, Mid 2012)
プロセッサ: 2.5 GHz Intel Core i5
メモリ: 4 GB 1600 MHz DDR3
★使用予定言語
Python
Django
JavaScript


インストール方法

インストールについて、ここで紹介してます。


チュートリアル

Part1

インストール完了後、ターミナルにて、下記の順番にアプリのテンプレート作成からサーバー起動まで行います。

まずは、チュートリアルに沿って、Djangoのテンプレートを作成しましょう。
今回は、チュートリアルに合わせていますので、「mysite」としてますが、自分のプロジェクト名に合わせても問題ないです。
このチュートリアルの最終形は、投票アプリとなってます。
テンプレート作成からurl制御、cgi作成など含め、基礎的な部分が身につく形です。

ポイント1

ターミナルに、下記の内容を入力します。

ターミナル
# mysiteを作成します。"mysite"はプロジェクト名でも大丈夫です。
# 変更した場合は、"mysite"部分をプロジェクト名で読み替え、進めてください。 
$ django-admin.py startproject mysite

# cdコマンドで、mysiteへ移動します。
$ cd mysite

# manage.pyを利用して、アプリ基盤を作成します。
$ python manage.py startapp polls

ここで参考用に、「polls」のtreeを展開しておきます。

polls[tree]
polls
  ├── __init__.py
  ├── admin.py
  ├── apps.py
  ├── migrations
  │   └── __init__.py
  ├── models.py
  ├── tests.py
  ├── urls.py  < 追加 & 編集
  └── views.py < 編集

まずは、pollsにあるviews.pyを編集します。
これは、いつもの「Hello, world.」です。

polls/views.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

ポイント2

次にpolls内で「urls.py」を新たに作り、追加します。
これは、views.pyで宣言している「def index(request):」で使用するもととなります。
正規表現でurlが管理されるので、セキュリティ面においても誤ったurlが入力された場合、エラーとして扱えるようになるでしょう。

ちなみに、views.py単体でもURL先を指定し、機能しますが、それでは管理が大変になる可能性があります。
常に「views.py」と「urls.py」は連動し、動くべき形がいいでしょう。

polls/urls.py
from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

続いて、mysiteの現在のtreeです。
今度は、「mysite」内にある「urls.py」を開き、編集します。

mysite/polls[tree]
├── manage.py
├── mysite
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py < コレ
│   └── wsgi.py
└── polls
    ├── __init__.py
    ├── admin.py
    ├── apps.py
    ├── models.py
    ├── tests.py
    ├── urls.py
    └── views.py

ポイント3

「urls.py」の「urlpatterns」に「url(r'^polls/', include('polls.urls')),」を加えます。
この時、includeが「include(admin.site.urls)」となっている場合、あなたのversionが古い可能性があります。
その場合は、このチュートリアルを参照にしても無駄です。
古いバージョンのチュートリアルをやるか、新しいバージョンに切り替える必要があります。

mysite/urls.py
from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', admin.site.urls),
]

ターミナルに戻り、サーバーを起動します。
なお、外部接続(ローカル内)からでも確認が可能なように、「python manage.py runserver 0.0.0.0:8000」としています。
起動後は、外部端末からhttp://localhost:8000/polls/に接続が可能です。
ブラウザに「Hello, world. You're at the polls index.」と表示されていることを確認してください。

ターミナル
# サーバー起動
$ python manage.py runserver 0.0.0.0:8000
> http://localhost:8000/polls/
> Quit the server with CONTROL-C.

以上、パート1の解説でした。
パート2では、DBの作成などが盛り込まれています。


ポイントのおさらい。

□ポイント 1
 mysite内でpollsを作成し、さらにpolls内のwiews.pyを編集。

□ポイント 2
 先ほど、作ったpolls内にて、urls.pyを作成、編集します。

□ポイント 3
 また、mysite内のurls.py内も編集します。
 ただこの時、注意してほしいことがあります。
 もし、includeが「include(admin.site.urls)」となっている場合、あなたのversionが古い可能性があります。
 その時は、新しいversionにするか、古いversionのチュートリアルを参照してください。

□おまけポイント
 また、「settings.py」内の表記が「[]」ではなく、「()」で囲まれてた場合も古い可能性があります。
 詳しくは、次回のチュートリアルにて、詳細のコードも交え、説明予定。


13
13
0

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
13
13