そろそろPythonを始めよう【djangoで独自ページを表示させる(mac)】

スポンサーリンク

プロジェクトを作成する

プロジェクトを作成するには、cdで任意のディレクトリに移動して、

以下のコマンドを実行します。

$ django-admin startproject myapp

「myapp」はプロジェクト名なので、

自分で分かりやすい名前に変えても良いですが、

なるべくユニークな名前をつけるようにしましょう。

「test」や「django」など、djangoのシステム内ですでに使われていると思われる単語は避けるのが無難です。

ローカルサーバーを起動する

ローカルサーバーを起動するには、

プロジェクトフォルダに入る必要があります。

「myapp」というプロジェクトを作った人は、

1階層目のmyappフォルダに移動してください。

$ python manage.py runserver

これでサーバーが起動します。

ブラウザで確認するには、http://localhost:8000/にアクセス。

djangoのデフォルトページが表示されたら成功です。

ページを追加してみる

次に、新しいページを追加してみましょう。

$ python manage.py startapp polls

「polls」ディレクトリが追加されたはずです。

djangoでは、この1つのディレクトリ単位を

「アプリケーション」と呼びます。

つまり、ページを増やしていけば、

アプリケーションが増える、ということになります。

ルーティング

アプリケーションを増やしただけでは、

まだページは表示されません。

ルーティングという設定をする必要があります。

ルーティングとは、「このURLではこのページを開いてね~」と指示することです。

polls/urls.pyを開き、以下のように設定してみましょう。

from django.conf.urls import url
from . import views
 
urlpatterns = [
    url(r'^$', views.index, name='index'),
]

myapp/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),
]

これでルーティングは終わりです。

viewを作る

実際にブラウザに表示されるHTMLを作ります。

簡単にこんな感じのものを、プロジェクト内の

templates/polls/index.html に用意しましょう。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Polls</title>
</head>
<body>
    <h1>Polls</h1>
    <p>You're at the polls index.</p>
</body>
</html>

polls/settings.pyを開いて、

TEMPLATESのDIRSという項目を

os.path.join(BASE_DIR, ‘templates’)

に変更します。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

これで、サーバーを一度停止してから起動すると、

http://localhost:8000/polls/が開けるようになります。

タイトルとURLをコピーしました