使用Django框架在表格视图中把数据框架渲染成html模板

  • Post category:Python

使用 Django 框架可以非常方便地将数据渲染成 HTML 模板。下面将详细讲解如何在表格视图中实现数据到 HTML 模板的渲染。

  1. 创建 Django 应用

首先,在 Django 项目中创建一个应用程序。可以使用以下命令创建一个名为 myapp 的应用程序:

python manage.py startapp myapp
  1. 创建模型

接下来,我们需要创建一个模型来定义要显示数据的结构。在这里,我们将创建一个名为 Person 的模型,它具有名称和年龄两个属性。在 myapp/models.py 中添加以下代码:

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()

    def __str__(self):
        return self.name

在这里,我们定义了一个名为 Person 的模型,它有两个属性:名称和年龄。其中,名称是一个字符字段,最大长度为 100 个字符,年龄是一个整数字段。

  1. 创建视图

接下来,我们将创建一个视图来显示数据。在 myapp/views.py 中添加以下代码:

from django.shortcuts import render
from myapp.models import Person

def person_list(request):
    persons = Person.objects.all()
    return render(request, 'myapp/person_list.html', {'persons': persons})

在这里,我们定义了一个名为 person_list 的视图函数,该函数从数据库中获取所有的 Person 记录,将其传递给模板,并使用其中一个名为 person_list.html 的模板来呈现该数据。在模板中,我们将使用循环来遍历所有 Person 记录,并将其呈现为表格结构。

  1. 创建模板

创建 myapp/templates/myapp/person_list.html 文件,并添加以下代码:

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
        </tr>
    </thead>
    <tbody>
        {% for person in persons %}
        <tr>
            <td>{{ person.name }}</td>
            <td>{{ person.age }}</td>
        </tr>
        {% endfor %}
    </tbody>
</table>

在这里,我们定义了一个表格结构,并使用 Django 的模板语言将 Person 记录呈现为表格行。我们使用循环来遍历每个 Person 记录,并在每行中显示其名称和年龄。

  1. 配置路由

最后,我们需要将视图函数连接到 URL。在项目的 urls.py 文件中添加以下代码:

from django.urls import path
from myapp.views import person_list

urlpatterns = [
    path('person_list/', person_list, name='person_list'),
]

在这里,我们定义了一个名为 person_list 的 URL pattern,并将其与视图函数 person_list 关联。现在,在浏览器中访问 http://localhost:8000/person_list/,就可以呈现所有 Person 记录的表格了。

这样,我们就实现了使用 Django 框架在表格视图中将数据渲染成 HTML 模板。