Django 是一個(gè)基于MVC思想的Python Web框架。它支持多種關(guān)系型數(shù)據(jù)庫,其中包括 MySQL。
在 Django 中顯示 MySQL 數(shù)據(jù)庫數(shù)據(jù)需要使用 Django 自帶的 ORM(對(duì)象關(guān)系映射)。
首先,需要在 Django 項(xiàng)目的 settings.py 文件中配置 MySQL 數(shù)據(jù)庫連接信息:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': 'localhost', 'PORT': '3306', } }
配置完成后,可以在 Django 項(xiàng)目的 models.py 文件中創(chuàng)建一個(gè)數(shù)據(jù)庫模型類:
from django.db import models class Book(models.Model): title = models.CharField(max_length=50) author = models.CharField(max_length=30) pub_date = models.DateField()
這里我們創(chuàng)建了一個(gè)名為 Book 的數(shù)據(jù)庫模型類,包含了書籍的標(biāo)題、作者和出版時(shí)間信息。
接下來,需要在 Django 項(xiàng)目的 views.py 文件中編寫一個(gè)視圖函數(shù),用于返回?cái)?shù)據(jù)庫中的數(shù)據(jù):
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})
這里我們編寫了一個(gè)名為 book_list 的視圖函數(shù),查詢了數(shù)據(jù)庫中的所有書籍信息,并將其作為變量傳遞給 book_list.html 模板。
最后,需要在 Django 項(xiàng)目中創(chuàng)建 book_list.html 模板文件,用于顯示從數(shù)據(jù)庫中查詢出來的書籍信息:
<table> <tr> <th>標(biāo)題</th> <th>作者</th> <th>出版日期</th> </tr> {% for book in books %} <tr> <td>{{ book.title }}</td> <td>{{ book.author }}</td> <td>{{ book.pub_date }}</td> </tr> {% endfor %} </table>
這里我們使用了 Django 的模板語法來展示數(shù)據(jù)庫中的數(shù)據(jù),使用 for 循環(huán)遍歷了每一本書籍的信息,并將其作為表格中的一行展示出來。
現(xiàn)在,訪問 book_list 視圖函數(shù)所在的 URL 地址,就可以在瀏覽器中看到從 MySQL 數(shù)據(jù)庫中查詢出來的書籍信息了!