Джанго

Как да създадете изгледи на Django?

Как да създадете изгледи на 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 управлява.py startapp viewapp

Б. За да създадете потребителя за достъп до базата данни на Django, изпълнете следната команда. Ако сте създали потребителя преди това, пропуснете тази част:

$ python3 управлява.py създаваuperuser

° С. Добавете името на приложението в частта INSTALLED_APP на настройките.py файл.

INSTALLED_APPS = [
..
'viewapp'
]

д. Създайте папка с име шаблони вътре в viewapp папка и задайте шаблони местоположението на приложението в ШАБЛОНИ част от настройки.py файл.

ШАБЛОНИ = [

.. .
'DIRS': ['/ home / fahmida / django_pro / viewapp / templates'],
.. .
,
]

Създайте опростен изглед, базиран на функции:

Отвори мнения.py файл от viewapp папка и заменете съдържанието на този файл със следния скрипт. индекс () се използва в скрипта за създаване на HTML съдържание, което ще бъде изпратено до браузъра с помощта на HttpResponse () метод. Тук ще бъдат прочетени текущата дата и час на системата днес () функция и текущата стойност на датата ще бъде генерирана преди изпращане до браузъра.

Изгледи.py

# Импортирайте модула за дата, за да прочетете текущата дата
от дата и дата на импортиране
# Импортирайте модула HttpResponse, за да изпращате данни от изглед към шаблон
от django.http импортиране HttpResponse
# Дефинирайте функция, за да създадете изглед, базиран на функции
def index (заявка):
# Прочетете текущата дата
днес = дата.днес ()
# Задайте статични данни за изгледа
съдържание = "

Добре дошли в LinuxHint

"
content + = "Днес е" + днес.strftime ("% B") + "" + днес.strftime ("% d") + "," + str (днес.година) + "

"
# Изпрати съдържанието в браузъра
връщане HttpResponse (съдържание)

Променете съдържанието на URL адреси.py файл със следния скрипт. В сценария, 'добре дошли/' path е дефиниран за извикване на индекс () функция, която ще изпрати HTML съдържанието към файла на шаблона.

URL адреси.py

# Модул за импортиране на път
от django.път за импортиране на URL адреси
# Импортиране на модул за изглед
от viewapp импортиране на изгледи
# Метод за извикване на индекс за показване на съдържанието
urlpatterns = [
# Дефинирайте функцията за извикване на index ()
path ('добре дошли /', мнения.индекс)
]

Изпълнете следния URL от браузъра, който ще покаже следния изход. Форматиран текст на заглавието и текущата стойност на датата са показани в изхода.

http: // localhost: 8000 / добре дошли /

Създайте опростен изглед, базиран на класа:

Създавам мнения2.py файл в папката viewapp и добавете следния скрипт. MyView class е дефиниран в скрипта, който съдържа метод с име получи (). Променлива на списък с име listdata се декларира в скрипта, за да се създаде списък с 10 произволни числа. Стойностите на списъка ще бъдат предадени на шаблона чрез HttpResponse () метод, когато се извика този изглед. случайните модул е ​​използван в скрипта за генериране на произволно цяло число във всяка итерация на за цикъл с помощта на randint () функция.

мнения2.py

# Импортирайте модула HttpResponse, за да изпращате данни от изглед към шаблон
от django.http импортиране HttpResponse
# Импортиране на модул за изглед
от django.изгледи импортиране Изглед
# Импортиране на произволен модул
внос произволен
# Определете клас за изгледи, базирани на класа
клас MyView (Изглед):
def get (самостоятелно, заявка):
# Декларирайте променливата на списъка
listdata = []
# Добавете първия елемент от списъка
listdata.добави ('

списъкът с 10 произволни числа са:

')
# Итерирайте цикъла за 10 пъти
за n в обхват (10):
# Генерирайте произволно число в рамките на 1 до 50
random_number = произволен.Randint (1, 50)
# Добавете произволно число в списъка
listdata.добавяне (произволен_ номер)
# Добавете елемент за прекъсване в списъка
listdata.добави ('
')
# Добавете последния елемент от списъка
listdata.добави ('
')
# Изпратете стойностите на списъка до браузъра
връща HttpResponse (listdata)

Променете съдържанието на URL адреси.py файл със следния скрипт. В сценария „номер/ ”Пътят е дефиниран за извикване на MyView.as_view () метод, който ще изпрати данните от списъка към файла на шаблона.

URL адреси.py

# Модул за импортиране на път
от django.път за импортиране на URL адреси
# Импортиране на модул за изглед
от viewapp импортиране на изгледи
# Импортиране на клас MyView
от viewapp.импортира MyView
# Извикайте метода get на класа MyView
urlpatterns = [
# Определете пътя към функцията за извикване на index ()
path ('добре дошли /', изгледи.индекс),
# Определете пътя за извикване на MyView.метод as_view ()
path ('номер /', MyView.as_view ()),
]

Изпълнете следния URL от браузъра, който ще покаже следния изход. Номерата на изхода ще бъдат променени, ако страницата се обнови, тъй като всеки номер от списъка ще бъде генериран произволно.

http: // localhost: 8000 / номер /

Заключение:

Резултатът от уеб приложението зависи от скрипта на файла с изглед, който е основна част от всяко уеб приложение. Функционалните изгледи се използват най-вече в ранната версия на приложението Django и сега базирани на класове състезания се използват в повечето приложения на Django. Начините за създаване на двата вида изгледи са показани в този урок, за да помогнат на новите потребители на Django да създадат своите изгледи въз основа на тяхното приложение.

HD Remastered Games за Linux, които никога преди не са имали издание на Linux
Много разработчици и издатели на игри излизат с HD ремастер на стари игри, за да удължат живота на франчайза, моля феновете, които искат съвместимост ...
Как да използвам AutoKey за автоматизиране на Linux игри
AutoKey е програма за автоматизация на настолни компютри за Linux и X11, програмирана в Python 3, GTK и Qt. Използвайки неговата функционалност за скр...
Как да покажа брояч на FPS в игрите на Linux
Linux игрите получиха голям тласък, когато Valve обяви поддръжка на Linux за Steam клиент и техните игри през 2012 г. Оттогава много AAA и независими ...