Django:html django 模板中的 OPENPYXL 数据

Django : OPENPYXL data in html django template

我有一个 excel sheet 。我需要获取数据,所以我使用了 open pyXl。但是现在,我不知道如何显示该数据。我如何在 html 中使用它?

要获得问题的答案,您首先需要了解 Django 的工作原理。

Django 严格遵循 MVC(模型、视图、控制器)设计模式,但又略有不同。 Django 使用一种称为 MVT(模型、视图、模板)的设计模式。

本质上,Django 视图称为模板控制器称为视图

在您的 Django 应用程序中,您必须创建一个视图。在视图内部,您编写应用程序给定功能背后的逻辑。简单来说,一个视图接受一个请求,执行一些业务逻辑和 returns 一个响应。此响应可以是网页的 HTML 内容、重定向或错误。

当用户访问您的 Web 应用程序中的页面时,他们会遵循给定的 URL。 URL 映射到您的视图。您的视图 returns 一个 HTML 模板。

在与您想要的 URL 对应的视图中,您执行从 Excel 电子表格获取数据的逻辑。然后将此数据传递给用户可以看到的 HTML 模板。为了将数据传递给模板,Django 使用 The Django template language (DTL).

DTL 有自己的语法,您必须学习才能使用它。将数据从您的视图传递到给定模板的一个非常基本的示例如下所示:

from django.shortcuts import render

def foo(request):
    return render(request, 'FooBar.html', {'your_data': 'Hello World'})

在上面的例子中,我们有一个名为“foo”的视图。 foo 将请求作为参数和 returns 请求,以及一个名为“FooBar.html”的 HTML 模板,以及一个键为“your_data”的字典对应字符串“Hello World”的值。

在FooBar.html中,您必须使用DTL 语法来访问值。例如,要访问字符串“Hello World”,您可以通过以下方式进行:

<!DOCTYPE html>
<html lang="en">
...

    <body>
        <h1>{{ your_data }}</h1>
        ...
    </body>
</html>

通读 DTL 的文档,您将能够弄清楚如何传递其他数据结构,例如列表等