0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DjangoでWebサイトを立ち上げてみる。Part2〜Hello Worldの表示〜

Last updated at Posted at 2019-10-11

この投稿について

作業進捗の備忘録、学習効果の向上を目的として記録していきます。
学習しながら作業を進めておりますので、情報が間違っている場合も多々あると思います。
正しい情報は公式ドキュメントを参考にしてください。

開発環境

  • macOS High Sierra 10.13.6
  • Anaconda 3
  • Python 3.7.7
  • Djnago 3.0.6
  • VisualStudioCode

アプリケーションの作成

前回、Djangoプロジェクト(first_project)を作成しました。
プロジェクト下にアプリケーションを作成してみます。

アプリケーションとは、実際に何らかの処理を行う Web アプリケーションを指します。(公式ドキュメント一部抜粋)

作成方法は簡単で、プロジェクト直下で以下のコマンドを打つだけで、アプリケーションの作成に必要なファイル一式を自動生成します。

Terminal
first_project % python3 manage.py startapp first_app

アプリはどこに配置してもいいみたいですが、プロジェクトの直下にしました。app名はfirst_appにしました。

*詳細は公式ドキュメント参照
https://docs.djangoproject.com/ja/3.0/intro/tutorial01/

views.pyの編集

トップページにアクセスした際に表示させる内容を設定するために、first_appフォルダ内のviews.pyを編集します。

first_app/views.py
from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def index(request):
    return HttpResponse('Hello World!!')

Hello World!!と表示させるレスポンスを返す関数を記述しています。

アプリケーションの登録

次に、アプリケーションをプロジェクトの設定ファイルに登録してあげる必要があります。

first_project/settings.py
# Application definition
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'first_app',###
]

djangoにアプリケーションの存在を認識してもらうために必ず追記します。

urls.pyの編集

続いて、first_project内のurls.pyを編集します。
urls.pyはサイト全体の目次みたいなもののようです。

first_project/urls.py
from django.contrib import admin
from django.urls import path
from first_app import views #first_app/views.pyの関数を読み込む。

urlpatterns = [
    path('',views.index),#indexページ(http://127.0.0.1:8000/)にアクセスした際にviews.indexのレスポンスを返す。
    path('admin/', admin.site.urls),
]

以上で下準備は完了です。

Djangoのサーバーを起動して動作確認してみる

Terminal
first_project % python3 manage.py runserver

http://127.0.0.1:8000/ にアクセスして
Hello World!
と表示されていればOK

URLを指定してみる

今まではhttp://127.0.0.1:8000/にしかアクセスしていなかったが、
新たにURLを作成し、アクセスできるように設定する。
ここではhttp://127.0.0.1:8000/first_app/というURLを生成してアクセスできるようにし、
indexページと同じ内容を表示させるように設定する。

方法はいろいろあると思いますが、今回はfirst_appフォルダ内のurls.pyファイルを経由する方法で設定してみます。

appフォルダ内にurls.pyファイルを作成

first_app/urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

first_project内のurls.pyを編集

公式ドキュメント参照
https://docs.djangoproject.com/ja/2.2/intro/tutorial01/#write-your-first-view

first_project/urls.py
from django.contrib import admin
from django.urls import path, include #includeを新たにインポート
from first_app import views #first_app/views.pyの関数を読み込む。

urlpatterns = [
    path('',views.index),
    path('first_app/',include('first_app.urls')),#http://127.0.0.1:8000/first_app にアクセスした際にfirst_appフォルダ内の`urls.py`のurlpatternsに記載された処理を返す。
    path('admin/', admin.site.urls),
]

追記した部分の処理は、http://127.0.0.1:8000/first_app/ にアクセスした際にfirst_appフォルダ内のurls.pyのurlpatternsに記載された処理を返すという処理になります。
include('first_app.urls')で関連付けをしています。

Djangoのサーバーを起動して動作確認してみる

Terminal
python manage.py runserver

http://127.0.0.1:8000/first_app/ にアクセスして
Hello World!
と表示されていればOK

このように、指定したURLに指定したのアプリのURLパターンをツリー状に繋げることができます。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?