📜  在 django 中显示数据库中的数据 - Python (1)

📅  最后修改于: 2023-12-03 14:50:54.322000             🧑  作者: Mango

在 Django 中显示数据库中的数据

在 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 中显示数据库中的数据的教程,希望对大家有所帮助。