TECH I.S.

Django メインページ


メインのインデックスページ

プロジェクトにはメインページが必要です。

メインページは、プロジェクトのルートフォルダーにアクセスしたときの最初のページになります。

以下ののルートフォルダーにアクセスするとエラーが発生します。

127.0.0.1:8000/.

エラーとなるので、まずはmain.htmlテンプレートを作成します。

 メインページ

my_tennis_club/members/templates/main.html:
{% extends &quot;master.html&quot; %} {% block title %} My Tennis Club {% endblock %} {% block content %} <h1>My Tennis Club</h1> <h3>Members</h3> <p>Check out all our<a href="members/">members</a></p> {% endblock %}

新しいビューを作成

次に、プロジェクトのルートへの受信リクエストを処理するmainという新しいビューを作成します。

my_tennis_club/members/views.py:
from django.http import HttpResponse from django.template import loader from .models import Member def members(request): mymembers = Member.objects.all().values() template = loader.get_template('all_members.html') context = { 'mymembers': mymembers, } return HttpResponse(template.render(context, request)) def details(request, id): mymember = Member.objects.get(id=id) template = loader.get_template('details.html') context = { 'mymember': mymember, } return HttpResponse(template.render(context, request)) def main(request): template = loader.get_template('main.html') return HttpResponse(template.render())
mainビューは次のことを行います。
  • main.htmlテンプレートを読み込みます。
  • テンプレートによってレンダリングされるHTMLを出力します。

URLを追加

ここでルートURLが正しいビューを指していることを確認する必要があります。

urls.pyファイルを開き、メイン ビューをurlpatternsリストに追加します。
my_tennis_club/members/urls.py:
from django.urls import path from . import views urlpatterns = [ path('', views.main, name='main'), path('members/', views.members, name='members'), path('members/details/<int:id>', views.details, name='details'), ]

実行例(開発準備中) »


メインに戻るリンクを追加

メンバーページにはメインページへのリンクが欠落しているため、all_members.htmlテンプレートのcontentブロックに追加しましょう。

my_tennis_club/members/templates/all_members.html:
{% extends &quot;master.html&quot; %} {% block title %} My Tennis Club - List of all members {% endblock %} {% block content %} <p><a href="/">HOME</a></p> <h1>Members</h1> <ul> {% for x in mymembers %} <li><a href="details/{{ x.id }}">{{ x.firstname }} {{ x.lastname }}</a></li> {% endfor %} </ul> {% endblock %}

実行例(開発準備中) »

すべての手順を実行して、ブラウザー127.0.0.1:8000/で結果を確認できます。

サーバーがダウンしている場合は、次のrunserverコマンドを使用してサーバーを再起動する必要があります。

py manage.py runserver


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細