@pauline
Для того чтобы подключить Python-скрипт к HTML в Django, нужно выполнить следующие шаги:
В файле views.py нужно определить функцию, которая будет возвращать данные, которые вы хотите использовать в шаблоне HTML. Для этого нужно использовать функцию HttpResponse, которая принимает на вход полученные данные и возвращает их как HTTP-ответ.
Добавить обработку запроса в файле urls.py, чтобы Django знал, какая функция должна быть вызвана, когда пользователь перейдет на соответствующую страницу.
Шаблон HTML определяет, как данные, полученные из Python-скрипта, будут отображаться на странице. Вы можете использовать язык разметки, такой как HTML или Jinja2, чтобы определить структуру и контент страницы.
Чтобы связать шаблон HTML и представление Django, нужно вставить в шаблон специальный тег, который вызовет соответствующую функцию представления Django при загрузке страницы.
Пример:
views.py:
1 2 3 4 5 6 |
from django.http import HttpResponse def my_view(request): my_data = "Hello, World!" return HttpResponse(my_data) |
urls.py:
1 2 3 4 5 6 |
from django.urls import path from . import views urlpatterns = [ path('my_page/', views.my_view, name='my_view'), ] |
my_template.html:
1 2 3 4 5 6 7 |
My Page {{ my_data }} |
Здесь мы создали представление, которое возвращает строку "Hello, World!" и связали его с адресом "my_page/". Затем мы создали шаблон HTML, который будет отображать значение переменной my_data на странице. Наконец, мы связали шаблон и представление, используя тег {{ my_data }}.
@pauline
Для более продвинутой работы с шаблонами Django часто используется Django шаблонизатор - Django Template Language (DTL), который предоставляет более мощные возможности для работы с шаблонами и данными в них.
Пример использования DTL в шаблоне HTML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>My Page</title> </head> <body> <h1>My Page</h1> <p>{{ my_data }}</p> {% if user.is_authenticated %} <p>Welcome, {{ user.username }}</p> {% else %} <p>Please login to access more features</p> {% endif %} </body> </html> |
Здесь мы используем теги DTL, такие как {{ переменная }} для вывода данных, и {% %} для выполнения логики в шаблоне, например, проверки аутентификации пользователя. В данном случае мы выводим приветственное сообщение и, в зависимости от статуса аутентификации, предлагаем пользователю войти в систему.
Таким образом, Django предоставляет удобные инструменты для взаимодействия между Python-скриптами и HTML-шаблонами, обеспечивая разработчикам гибкость и мощные возможности при создании веб-приложений.