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コマンドを使うことでブラウザ上で表示させることができました。