Django : OPENPYXL данные в html шаблоне django

У меня есть лист excel. Мне нужно получить данные, поэтому я использовал open pyXl. Но теперь я не знаю, как отобразить эти данные. Как мне использовать их в моем html?

Чтобы получить ответ на свой вопрос, сначала нужно понять, как работает Django.

Django следует паттерну проектирования MVC (Model, View, Controller), но немного отличается от него. Вместо этого Django использует шаблон проектирования под названием MVT (Model, View, Template).

По сути, в Django Views называются Templates, а Controllers называются Views.

В вашем приложении Django вы должны создать представление. Внутри представления вы кодируете логику, лежащую в основе той или иной функциональности вашего приложения. Проще говоря, представление принимает запрос, выполняет некоторую бизнес-логику и возвращает ответ. Этим ответом может быть HTML-содержимое веб-страницы, перенаправление или ошибка

Когда пользователи получают доступ к странице в вашем веб-приложении, они делают это, следуя заданному URL. Этот URL сопоставлен с вашим представлением. Ваше представление возвращает HTML-шаблон.

В представлении, соответствующем вашему нужному URL, вы выполняете логику получения данных из таблицы Excel. Затем вы передаете эти данные в HTML-шаблон, который видят пользователи. Для передачи данных в шаблон Django использует язык шаблонов Django (DTL).

DTL имеет свой собственный синтаксис, который необходимо изучить, чтобы использовать его. Очень простой пример передачи данных из вашего представления в заданный шаблон будет выглядеть так:

from django.shortcuts import render

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

В приведенном выше примере у нас есть представление под названием "foo". foo принимает запрос в качестве параметра и возвращает запрос, вместе с HTML шаблоном под названием "FooBar.html", а также словарь с ключом "your_data", который соответствует значению строки "Hello World".

В файле FooBar.html для доступа к значению необходимо использовать синтаксис DTL. Например, чтобы получить доступ к строке "Hello World", вы можете сделать это следующим образом:

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

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

Прочитав документацию по DTL, вы сможете понять, как передавать другие структуры данных, такие как списки и т.д.

Вернуться на верх