Джанго

Проверка на формуляр в Django

Проверка на формуляр в Django

Проверката на формуляра е много важна задача за всяко уеб приложение за въвеждане на валидни данни в базата данни. Потребителите на приложението няма да могат да вмъкват невалидни данни, ако данните на формуляра са валидирани преди изпращане. Django се нарича MVT (Model View Template) базирана рамка, където задачата на контролера се извършва от самата тази рамка. Задачите, свързани с базата данни, се извършват от Model и данните се представят в шаблона с помощта на View. Полетата на формуляр се генерират въз основа на конкретния модел, който ще вмъкне данни в базата данни на Django след проверка. Един тип проверка се извършва от браузъра въз основа на типа поле, който е дефиниран в модела. Използвайки е валиден() функция е друг начин да проверите данните на формуляра дали са валидни или не след подаване на формуляра. Този урок ще ви покаже как данните могат да бъдат вмъкнати в базата данни на Django след валидиране на формуляра.

Предпоставки

Преди да практикувате скрипта на този урок, трябва да изпълните следните задачи:

  1. Инсталирайте Django версия 3+ на Ubuntu 20+ (за предпочитане)
  2. Създайте проект на Django
  3. Стартирайте сървъра Django, за да проверите дали сървърът работи правилно или не.

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

1. Изпълнете следната команда, за да създадете приложение на Django с име validationapp.

$ python3 управлява.py startapp валидиранеpp

2. Изпълнете следната команда, за да създадете потребителя, който се използва за достъп до базата данни Django. Ако сте създали потребителя преди това, не е необходимо да изпълнявате командата.

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

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

INSTALLED_APPS = [
..
„валидиране“
]

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

ШАБЛОНИ = [

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

Проверка на формуляр на Django

Трябва да напишете кода за следните файлове, за да проверите задачата за проверка на формуляра в Django.

Създайте модела

Отвори модели.py файл от папката на приложението и добавете следния скрипт, за да създадете структурата на клиенти маса. Таблицата ще съдържа четири полета. Това са пълното име, имейл, контакт_но и тип_клиент. Тук customer_type се създава от типа на селекцията. Това означава, че потребителят трябва да избере всяка стойност от падащия списък.

модели.py

# Импортиране на модели
от django.db модели за импортиране
# Определете класа за влизане на клиента
клас Клиент (модели.Модел):
# Определете стойности за типа клиент
тип = (
(„платено“, „платено“),
(„безплатно“, „безплатно“)
)
# Определете полетата за таблицата на клиентите
пълно_име = модели.CharField (max_length = 50)
имейл = модели.EmailField ()
contact_no = модели.CharField (max_length = 20)
клиент_тип = модели.CharField (макс. Дължина = 32, избор = тип, по подразбиране = „безплатно“)

Регистрирайте модела

Добавете следния скрипт в администраторът.py файл за регистрация на Клиент модел в базата данни на Django за достъп до клиенти таблица от административното табло на Django.

администратор.py

# Импортиране на администраторски модул
от django.принос вноса администратор
# Импортиране на клиентски модел
от .модели импортиране на клиент
# Регистрирайте клиентски модел
администратор.сайт.регистриране (клиент)

Създайте форми.py вътре в папката на приложението и добавете следния скрипт, за да дефинирате класа за създаване на формуляра въз основа на споменатите полета на клиентът модел.

форми.py

# Модул за импортиране на формуляри
от форми за импортиране на django
# Импортиране на модел на клиента
от validationapp.модели импортиране на клиент
# Определете класа за формуляра на клиента
клас CustomerForm (форми.ModelForm):
клас Meta:
модел = клиент
полета = ('пълно_име', 'имейл', 'contact_no', 'клиент_тип')

Създаване на шаблон

Създайте HTML файл с име клиент.html със следния скрипт за показване на предварително проектираната форма с Запазете бутон.

клиент.html





Форма за регистрация на потребителя


Формуляр за участие на клиента

% csrf_token%
форма.as_p



Вмъкване на данни след проверка на формуляра

Променете съдържанието на мнения.py файл със следния скрипт. AddCustomer () функция се използва в скрипта за вмъкване на нов запис в клиенти таблица след валидиране на формуляра. Ако формулярът не е изпратен, той ще бъде зареден с помощта на клиентът.html файл. Ако формулярът е изпратен с валидни данни, тогава ще се вмъкне нов запис с помощта на запазване () функция и съобщение за успех ще бъде отпечатано в браузъра с опцията за добавяне на друг запис.

мнения.py

# Импортиране на модул HttpResponse
от django.http.отговор импортиране HttpResponse
# Импортиране на модул за рендиране
от django.преки пътища за импортиране
# Импортиране на клиентска форма
от validationapp.формуляри за импортиране на CustomerForm
# Определете функция за добавяне на клиентски запис
def AddCustomer (заявка):
при поискване.метод == "POST":
form = CustomerForm (заявка.POST)
# Ако данните на формуляра са валидни или не
ако форма.е валиден():
опитвам:
# Запазете данните на формуляра в базата данни
форма.запазване ()
# Определете съобщението за потребителя
данни = ['

Данните на клиента са въведени правилно.


Добави друго']
# Върнете отговора
връщане HttpResponse (данни)
с изключение:
мине
друго:
# Определете обекта на формуляра
форма = CustomerForm ()
# Показване на формуляра за влизане на клиента
return render (заявка, 'клиент.html ', ' форма ': форма)

Променете URL адреси.py файл на проекта Django със следния скрипт. В скрипта са дефинирани два пътя. 'клиент /' path ще се използва за показване на формуляра за добавяне на новите клиентски записи. The „администратор /“ path ще се използва за показване на таблото за управление на Django.

URL адреси.py

# Импортиране на администраторски модул
от django.принос вноса администратор
# Модул за импортиране на път
от django.път за импортиране на URL адреси
# Импортиране на изглед
от изгледи за импортиране на validationapp
# Определете пътя за клиента и администратора
urlpatterns = [
path ('клиент /', изгледи.AddCustomer),
път ('admin /', admin.сайт.URL адреси)
]

Стартирайте сървъра Django и изпълнете следния URL от браузъра, за да покажете формуляра за влизане на клиента. Ако Запазете бутонът се натиска, без да се добавят данни във формуляра, след което ще се появи следващата страница с грешки за запазване на празните полета.

Ако за полето за имейл са зададени невалидни данни, ще се появи следната грешка.

Следната информация ще се появи, ако формулярът е изпратен с валидни данни. Ако потребителят кликне върхуДобави друго' връзка, формулярът ще се появи отново, за да вмъкне данни за следващия запис.

Заключение

Начинът за валидиране на формуляр на Django е показан в този урок чрез създаване на просто приложение за Django. Споменатото приложение ще помогне на разработчиците на Django да разберат важността на проверката на формуляра и те ще могат да го направят правилно.

Инсталирайте най-новата стратегия за игра OpenRA на Ubuntu Linux
OpenRA е Libre / Free Real Time стратегия за игра, която пресъздава ранните игри на Westwood като класическата Command & Conquer: Red Alert. Разпредел...
Инсталирайте най-новия Dolphin Emulator за Gamecube & Wii на Linux
Dolphin Emulator ви позволява да играете избраните от вас игри Gamecube & Wii на Linux Personal Computers (PC). Като безплатно достъпен и емулатор на...
Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...