Поиск по сайту:

Когда рубят лес, летят щепки предательства (Авессалом Подводный).

Как создавать представления в Django?

FavoriteLoadingДобавить в избранное
11 марта 2021
Как установить и подключиться к интерфейсу администратора DjangoРазличные типы данных приложения Django, такие как содержимое HTML, данные XML, данные JSON, изображение, ошибка 404 и т. д., Передаются в шаблон через представление Django. Каждое представление создается для определенной цели и связано с определенным шаблоном. Данные представления могут быть сгенерированы пользователем через HTML-форму или из базы данных или бизнес-логики. Представления Django могут быть созданы с использованием метода класса python или функции python. Представления на основе классов содержат много функций по сравнению с представлениями на основе функций. Для этого большинство приложений Django используют представления на основе классов для представления данных приложения Django. В этой статье были объяснены способы создания представления на основе функций и представлений на основе классов.

 

Предпосылки:

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

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

 

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

A. Чтобы создать приложение Django с именем viewapp, выполните следующую команду:

$ python3 manage.py startapp viewapp

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

$ python3 manage.py createsuperuser

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

INSTALLED_APPS = [
…..
‘viewapp’
]

D. Создайте папку с именем templates внутри папки viewapp и укажите местоположение шаблона приложения в части TEMPLATES файла settings.py.

TEMPLATES = [
{
….
'DIRS': ['/home/fahmida/django_pro/viewapp/templates'],
….
},
]

Создайте простое представление на основе функций:

Откройте файл views.py из папки viewapp и замените содержимое этого файла следующим скриптом. Функция index() используется в скрипте для создания HTML-содержимого, которое будет отправлено в браузер с помощью метода HttpResponse(). Здесь текущая дата и время системы будут считаны с помощью функции today(), а текущее значение даты будет сгенерировано перед отправкой в браузер.

Views.py

# Импорт модуль даты читать текущую дату
from datetime import date
# Импортируйте HttpResponse модуль для передачи данных с целью шаблон
from django.http import HttpResponse

# Определите функцию для создания индекса
def index(request):
# Прочтите текущую дату
today = date.today()
# Устанавливаем статические данные для представления
content = "<center><h1 style='color:green'>Добро пожаловать в AndreyEx</h1><h2>"
content += "Today is " + today.strftime("%B") + " " + today.strftime("%d") + ", " + str(today.year) + "</h2></center>"
# Отправляем контент в браузер
return HttpResponse(content)

 

Читать  Как удалить строки в Vim/Vi

Измените содержимое файла urls.py с помощью следующего сценария. В сценарии путь ‘welcome/’ определен для вызова функции index(), которая отправит HTML-содержимое в файл шаблона.

urls.py

# Импортировать модуль пути
from django.urls import path
# Импортировать модуль представления
from viewapp import views

# Вызвать метод индекса для отображения содержимого
urlpatterns = [
# Определить путь для вызова функции index()
path('welcome/', views.index)
]

 

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

http://localhost:8000/welcome/

 

Создайте простое представление на основе классов:

Создайте файл views2.py внутри папки viewapp и добавьте следующий скрипт. Класс MyView определен в сценарии, который содержит метод с именем get(). Переменная списка с именем listdata объявляется в сценарии для создания списка из 10 случайных чисел. Значения списка будут переданы в шаблон через метод HttpResponse() при вызове этого представления. Модуль random был использован в скрипте для генерации случайного целого числа на каждой итерации цикла for с помощью функции randint().

views2.py

# Импортируйте модуль HttpResponse для отправки данных из представления в шаблон
from django.http import HttpResponse
# Импортировать модуль представления
from django.views import View
# Импортировать случайный модуль
import random

# Определить класс для представлений на основе
class MyView(View):

def get(self, request):
# Объявить переменную списка
listdata = []
# Добавить первый элемент списка
        listdata.append('<center><h2>список из 10 случайных чисел:</h2>')
# Итерация цикла 10 раз
for n in range(10):
# Генерация случайного числа от 1 до 50
random_number = random.randint(1, 50)
# Добавить случайное число в список
listdata.append(random_number)
# Добавить элемент разрыва в список
listdata.append('<br/>')
# Добавить последний элемент списка
listdata.append('</center>')
# Отправляем значения списка в браузер
return HttpResponse(listdata)

Измените содержимое файла urls.py с помощью следующего сценария. В сценарии определен путь «number/» для вызова метода MyView.as_view(), который отправит данные списка в файл шаблона.

urls.py

# Импортировать модуль пути
from django.urls import path
# Импортировать модуль просмотра
from viewapp import views
# Импортировать класс MyView
from viewapp.views2 import MyView

# Вызвать метод get класса
urlpatterns = [
# Определить путь для вызова функции index()
path('welcome/', views.index),
# Определить путь для вызова метода MyView.as_view()
path('number/', MyView.as_view()),
]

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

http://localhost:8000/number/

 

Вывод:

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

Читать  Что такое компьютерный комплект Kano?

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**URL-адрес комментаторов dofollow. Для размещение ссылок обращаться к админу

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close