Djangoでデータベースをウェブページに表示する方法は何ですか?
Djangoでは、データベースをウェブページで表示するために、以下の手順を実行することができます:
- モデルクラスを定義するには、まず、Djangoのmodels.pyファイルにモデルクラスを記述して、データベースのテーブル構造とフィールド属性を表現します。
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publication_date = models.DateField()
def __str__(self):
return self.title
- データベース移行:対応するテーブル構造を作成するために、以下のコマンドを実行してデータベースを移行してください。
python manage.py makemigrations
python manage.py migrate
- views.py ファイルにビュー関数を作成して、対応するリクエストを処理し、データベースからデータを取得する。
from django.shortcuts import render
from .models import Book
def book_list(request):
books = Book.objects.all()
return render(request, 'book_list.html', {'books': books})
- テンプレートファイルを作成します:templatesディレクトリにbook_list.htmlテンプレートファイルを作成して、ウェブページをレンダリングするために使用します。
<!DOCTYPE html>
<html>
<head>
<title>Book List</title>
</head>
<body>
<h1>Book List</h1>
<ul>
{% for book in books %}
<li>{{ book.title }} - {{ book.author }} - {{ book.publication_date }}</li>
{% endfor %}
</ul>
</body>
</html>
- urls.py ファイル内で URL ルートを設定し、リクエストを対応するビュー関数にマッピングします。
from django.urls import path
from .views import book_list
urlpatterns = [
path('books/', book_list, name='book_list'),
]
http://localhost:8000/books/ を訪れると、データベースから取得した書籍リストを表示できるようになります。