Как создавать шаблоны Django?

Django Программирование и разработка

Django

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

В этом руководстве показано, как можно создать шаблон Django и как можно использовать DTL для добавления статического или динамического содержимого в шаблон.

Преимущества использования DTL

Использование DTL в шаблонах Django дает множество преимуществ. Некоторые из них упомянуты ниже.

  1. Логическая часть и презентационная часть приложения создаются отдельно.
  2. Расширять приложение становится проще.
  3. Это помогает уменьшить избыточность данных.
  4. Это обеспечивает безопасность приложения.

Предпосылки

Перед тем, как практиковать сценарий этого руководства, вам необходимо выполнить следующие задачи:

  1. Установите Django версии 3+ на Ubuntu 20+ (желательно)
  2. Создайте проект Django
  3. Запустите сервер Django, чтобы проверить, правильно ли он работает.

Настройте приложение Django

Выполните следующую команду, чтобы создать приложение Django с именем tempapp :

$ python3 manage.py startapp tempapp

Выполните следующую команду, чтобы создать пользователя для доступа к базе данных Django, но если вы уже создали пользователя раньше, то не нужно запускать команду, показанную ниже:

$ python3 manage.py createsuperuser

Добавьте имя приложения в часть INSTALLED_APP файла settings.py, как показано ниже:

INSTALLED_APPS = [
…..
‘tempapp’
]

Создайте папку с именем шаблонов внутри tempapp папки и установить шаблон расположение приложения в ШАБЛОНАХ части settings.py файла, как показано ниже:

TEMPLATES = [
{
….
‘DIRS’[‘/home/fahmida/django_pro/tempapp/templates’],
….
},
]

Создайте простой шаблон Django

Создайте файл index.html внутри папки tempapp / templates / со следующим сценарием HTML, чтобы отобразить в браузере отформатированный статический текст из двух строк. HTML-файл нельзя отобразить непосредственно в браузере, а файл views.py используется для визуализации HTML-файла в приложении Django.

index.html

<!DOCTYPE html>
<html lang=«en»>
<head>
<meta charset=«UTF-8»>
<title>Django Tutorials</title>
</head>
<body>
<center>
<h1 style=«color:blue»>Learn Django Template Language</h1>
<p style=«font-size:20px; color:red»>Django is popular python framework to design web application</p>
</center>
</body>
</html>

Откройте файл views.py из папки tempapp и добавьте следующий скрипт. Метод rander () используется в файле views.py для отображения любого файла шаблона в браузере.

Читайте также:  Что такое язык XML

В следующем скрипте функция index () определена для отображения содержимого файла index.html. Когда эта функция вызывается из файла urls.py, тогда файл шаблона будет отображаться в браузере.

views.py

# Import render module from django
from django.shortcuts import render

# Create index function to display the HTML file into the browser
def index(request):
return render(request, «index.html»)

Измените содержимое файла urls.py с помощью следующего сценария. Согласно сценарию функция index () файла views.py будет вызываться для пути index /.

urls.py

# Import path module
from django.urls import path
# Import views
from tempapp import views

# Define method for index path
urlpatterns = [
path(‘index/’, views.index)python3 manage.py createsuperuser

]

Запустите следующий URL-адрес в браузере, чтобы получить следующий результат. Статические данные отображаются на выходе.

http://localhost:8000/index/

Запустите следующий URL-адрес в браузере, чтобы получить следующий результат

Создайте шаблон Django с DTL

Создайте файл customers.html в папке tempapp / templates / с помощью следующего HTML-сценария. DTL используется в этом скрипте для отображения данных переменной словаря, которая инициализируется данными вложенных списков в файле views2.py. Первый цикл for используется для чтения значений внешнего списка, а второй цикл for используется для чтения значений внутреннего списка.

customers.html

<!DOCTYPE html>
<html lang=«en»>
<head>
<meta charset=«UTF-8»>
<title>Customer Information</title>
<style>
.table, th, tr, td{
border:1px solid blue;
}
</style>
</head>
<body>
<center>

<h2>List of Customers</h2>
<table>
<tr>
<th>ID</th><th>Name</th><th>Email</th><th>Phone</th>
</tr>
{% for rows in customers %}
<tr>
{% for col in rows %}
<td>{{ col }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>

</center>
</body>
</html>

Создайте еще один файл представления с именем views2.py в папке tempapp с помощью следующего сценария. Переменная словаря с именем data объявляется в сценарии, который содержит вложенный список для создания табличных данных из 4 строк и 4 столбцов. Данные переменной будут отправлены в шаблон, когда клиенты () функция этого сценария будет вызываться из urls.py файла.

Читайте также:  Как объединить массивы в C++?

views2.py

# import render module from django
from django.shortcuts import render

# create a function to send tabular data to template
def customers(request):
# define a dictionary of nested list
data = {«customers»[[‘6745’, ‘Monir Hossain’, ‘monir@gmail.com’, ‘880191345234’],
[‘7845’, ‘Keya Akter’, ‘keya@gmail.com’, ‘880189045673’],
[‘9056’, ‘Mohammed Ali’, ‘ali@gmail.com’, ‘880179893922’],
[‘4536’, ‘Mostafa Kamal’, ‘kamal@gmail.com’, ‘880157665433’]]
}

# return response with template and data
return render(request, «customers.html», data)

Измените файл urls.py следующим скриптом. В сценарии определен путь » customers / » для загрузки в браузер файла customers.html с данными словаря.

urls.py

# Import path module
from django.urls import path
# Import views
from tempapp import views
# Import views2
from tempapp import views2

# Define methods for index and customers paths
urlpatterns = [
path(‘index/’, views.index),
path(‘customers/’, views2.customers)
]

Запустите следующий URL-адрес в браузере, чтобы получить следующий результат. Записи всех клиентов из таблиц базы данных были отображены в браузере с помощью DTL.

http://localhost:8000/customers/

Запустите следующий URL-адрес в браузере, чтобы получить следующий результа

Вывод

В этом руководстве были показаны способы создания простого шаблона и шаблона на языке шаблонов Django (DTL). Новые пользователи Django смогут правильно создать шаблон для приложения Django после практики сценария из этого руководства.

Оцените статью
bestprogrammer.ru
Добавить комментарий