📅  最后修改于: 2023-12-03 14:50:54.322000             🧑  作者: Mango
在 Django 中,我们可以使用模型来定义数据库表和其字段。模型在配置后,它们可以与数据库进行交互。我们可以从数据库中读取数据,对其进行更改或删除。在本篇文章中,我们将会探讨如何在 Django 中显示数据库中的数据。
首先,我们需要在我们的 Django 项目中定义一个模型,这个模型对应着数据库中的一张表。我们可以在 models.py
文件中定义模型,这个文件通常位于应用程序的根目录中。例如,我们定义了一个 Book
模型来代表一个书籍:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=100)
在这个模型中,我们定义了一个 title
和一个 author
字段。这两个字段都是 CharField
类型,因为它们是字符串类型的。
我们定义了模型,现在我们需要向数据库中添加一些数据。我们可以通过 Django 管理员站点来添加数据。首先,我们需要创建一个超级用户:
python manage.py createsuperuser
然后,我们需要在 admin.py
文件中注册我们的模型:
from django.contrib import admin
from .models import Book
admin.site.register(Book)
现在,我们可以登录管理员站点,并添加一些书籍数据。在这个例子中,我们添加了两本书 "Django for Dummies" 和 "Python for Beginners"。
现在我们已经将数据添加到了数据库中,我们可以使用视图和模板将其显示给用户。首先,我们需要在视图中获取所有书籍,然后将它们传递给模板:
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})
在这个视图中,我们使用 Book.objects.all()
从数据库中获取所有书籍。然后,我们使用 render()
函数将这些书籍传递到模板中。
接下来,我们需要创建一个模板来显示这些书籍。我们创建一个名为 book_list.html
的模板,并将书籍循环遍历并以表格形式呈现:
{% extends 'base.html' %}
{% block content %}
<h1>Book List</h1>
<table>
<thead>
<tr>
<th>Title</th>
<th>Author</th>
</tr>
</thead>
<tbody>
{% for book in books %}
<tr>
<td>{{ book.title }}</td>
<td>{{ book.author }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
在这个模板中,我们首先继承了一个名为 base.html
的基础模板。然后,我们在模板块内添加了一个表格,用来显示我们的书籍信息。我们使用 for
循环遍历书籍列表,然后将它们以表格的形式逐行显示。
最后,我们将这个视图与一个 URL 关联起来。在 urls.py
文件中,我们可以将 URL 映射到我们的视图:
from django.urls import path
from . import views
urlpatterns = [
path('books/', views.book_list, name='book_list'),
]
现在,我们可以访问 http://localhost:8000/books/
来查看所有的书籍列表了。
在本篇文章中,我们学习了如何在 Django 中显示数据库中的数据。我们首先定义了一个模型,然后向数据库中添加数据。接下来,我们在视图中获取了这些书籍,并将它们传递到模板中进行显示。最后,我们将视图与一个 URL 关联起来,使用户可以通过浏览器访问这个页面。
以上就是 Django 中显示数据库中的数据的教程,希望对大家有所帮助。