Djangoを使ってweb上でHelloWorldを表示する

はじめに

今回やることは、前回の続きで作成したプロジェクト↓でweb上でHelloWorldを表示してみます。
urhayataro.hatenablog.com

記述をしていくファイルは、testproject/views.pyと、testproject/urls.pyです。
サーバーを立ち上げ、HelloWorldnoの表示を確認するところまでを行います。

vies.py

まず、testproject以下にviews.pyというファイルを新規作成します。vscodeかターミナルのどちらかで作ります。
作成したviews.pyに以下を記述していきます。

from django.http import HttpResponse

def Helloworld(request):
    return HttpResponse('Hello World')

1行目のHttpResponseは、サーバーからブラウザ上に送るもので、ブラウザ上で何かを表示させるときに使います。
関数名はHelloworldを出力するので、そのままの名前にしています。
返り値は、ブラウザ上に表示させるもので、今回はHello Worldとしています。

urls.py

views.pyができれば、これを記述していきます。

from django.contrib import admin
from django.urls import path
from .views import Helloworld  # 追加

urlpatterns = [
    path('admin/', admin.site.urls),
    path('helloworld/', Helloworld),  # 追加
]

もともとあったコードに、3行目と下から2行目を加えました。
まず、3行目で同じくviews.pyで定義したHelloworld関数をインポートします。今回は、testproject直下にviews.pyを作成したのでこのような記述になり、testapp直下のviews.pyに記述した場合は、.viewsの部分がtestapp.viewsになります。プロジェクトとアプリケーションのどちらで作成しても同じ結果になります。

urlpatternsについては前回の記事で軽く触れましたが、urlがpath()の第一引数とマッチすれば第二引数を呼び出すというものなので、urlがhelloworld/なら、Helloworld関数を呼び出す形にしています。

次のコマンド実行後、127.0.0.1:8000/helloworld/にアクセスすると、HelloWorldが表示されるようにしました。
また、127.0.0.1:8000/でHelloWorldを表示させたければ、pathの第一引数を '' にすれば良いです。

サーバーの起動と表示の確認

サーバーを起動させるには、ターミナルで以下を実行します。

python manage.py runserver

エラーがなければ、127.0.0.1:8000/helloworld/にアクセスしてみます。

このように "HelloWorld" が表示されています。

サーバーの終了は、ターミナルでCtrl+cを押せば終了することができます。


もっときちんとしたwebサイトを表示させたければ、テンプレートというディレクトリを作成して、その中にhtmlファイルを作成する。そのhtmlファイルに記述して表示させることもできる。

おわりに

今回やったことは、前回の続きでweb上にHelloWorldを表示させてみました。
views.pyとurls.pyを記述すること、また、manage.pyのrunserverコマンドを使うことでブラウザ上で表示させることができました。