Джанго

Проверка формы в Django

Проверка формы в Django

Проверка формы - очень важная задача для любого веб-приложения для ввода достоверных данных в базу данных. Пользователи приложения не смогут вставлять недопустимые данные, если данные формы проверены перед отправкой. Django называется фреймворком на основе MVT (Model View Template), где задача контроллера выполняется самим фреймворком. Задачи, связанные с базой данных, выполняются моделью, а данные представляются в шаблон с помощью представления. Поля формы генерируются на основе конкретной модели, которая будет вставлять данные в базу данных Django после проверки. Один тип проверки выполняется браузером на основе типа поля, определенного в модели. С помощью действует() функция - еще один способ проверить данные формы, действительны они или нет, после отправки формы. Из этого туториала Вы узнаете, как данные могут быть вставлены в базу данных Django после проверки формы.

Предпосылки

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

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

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

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

$ python3 manage.py startapp validationapp

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

$ python3 manage.py создает суперпользователя

3. Добавьте название приложения в INSTALLED_APP часть ру файл.

INSTALLED_APPS = [

'validationapp'
]

4. Создайте папку с именем шаблоны внутри приложение проверки папку и установите шаблон расположение приложения в ШАБЛОНЫ часть ру файл.

ШАБЛОНЫ = [

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

Проверка формы Django

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

Создать модель

Открой модели.ру файл из папки приложения и добавьте следующий скрипт для создания структуры клиенты Таблица. Таблица будет содержать четыре поля. Это полное_имя, адрес электронной почты, контакт_но и тип_клиента. Здесь customer_type создается по типу выбора. Это означает, что пользователь должен выбрать любое значение из раскрывающегося списка.

модели.ру

# Импортировать модели
из джанго.модели импорта БД
# Определить класс для входа клиентов
класс Customer (модели.Модель):
# Определить значения для типа клиента
type = (
('оплачено', 'оплачено'),
('бесплатно', 'бесплатно')
)
# Определить поля для таблицы клиентов
full_name = модели.CharField (max_length = 50)
электронная почта = модели.EmailField ()
contact_no = модели.CharField (max_length = 20)
customer_type = модели.CharField (max_length = 32, choices = type, по умолчанию = 'free')

Зарегистрируйте модель

Добавьте следующий скрипт в админ.ру файл для регистрации Клиент модель в базе данных Django для доступа к клиенты таблица из административной панели Django.

админ.ру

# Импортировать админ-модуль
из джанго.contrib import admin
# Импортировать модель клиента
из .модели импорт Заказчик
# Зарегистрировать модель клиента
админ.сайт.зарегистрироваться (Заказчик)

Создавать формы.ру внутри папки приложения и добавьте следующий скрипт для определения класса для создания формы на основе упомянутых полей клиент модель.

формы.ру

# Модуль импорта форм
из форм импорта django
# Импортировать модель клиента
из приложения проверки.модели импорт Заказчик
# Определить класс для формы клиента
класс CustomerForm (формы.ModelForm):
класс Мета:
model = Клиент
fields = ('полное_имя', 'электронная почта', 'контакт_но', 'тип_клиента')

Создать шаблон

Создайте HTML-файл с именем клиент.html с помощью следующего скрипта для отображения ранее созданной формы с Сохранить кнопка.

клиент.html





Форма регистрации пользователя


Форма заявки клиента

% csrf_token%
форма.as_p



Вставить данные после проверки формы

Измените содержимое взгляды.ру файл со следующим скриптом. AddCustomer () функция используется в скрипте для вставки новой записи в клиенты таблица после проверки формы. Если форма не отправлена, она будет загружена с использованием клиент.html файл. Если форма отправлена ​​с действительными данными, новая запись будет вставлена ​​с использованием спасти() функция, и в браузере будет напечатано сообщение об успешном завершении с возможностью добавления еще одной записи.

взгляды.ру

# Импортировать модуль HttpResponse
из джанго.http.импорт ответа HttpResponse
# Импортировать модуль рендеринга
из джанго.ярлыки импорт рендеринга
# Импортировать CustomerForm
из приложения проверки.формы импорта CustomerForm
# Определить функцию для добавления записи о клиенте
def AddCustomer (запрос):
если запрос.method == "POST":
form = CustomerForm (запрос.ПОЧТА)
# Если данные формы действительны или нет
если форма.действует():
пытаться:
# Сохраняем данные формы в базу данных
форма.спасти()
# Определить сообщение для пользователя
data = ['

Данные клиента вставлены правильно.


Добавить еще']
# Вернуть ответ
вернуть HttpResponse (данные)
Кроме:
проходить
еще:
# Определить объект формы
form = CustomerForm ()
# Показать форму записи клиента
вернуть рендер (запрос, 'клиент.html ', ' form ': form)

Измените URL-адреса.ру файл проекта Django со следующим скриптом. В скрипте определены два пути. 'клиент/' путь будет использоваться для отображения формы для добавления новых записей клиентов. В 'admin /' path будет использоваться для отображения панели администрирования Django.

URL-адреса.ру

# Импортировать админ-модуль
из джанго.contrib import admin
# Импортировать модуль пути
из джанго.путь импорта URL
# Импортировать представление
из представлений импорта приложения проверки
# Определить путь для клиента и администратора
urlpatterns = [
путь ('клиент /', просмотры.AddCustomer),
путь ('админ /', админ.сайт.URL-адреса)
]

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

Если для поля электронной почты заданы недопустимые данные, появится следующая ошибка.

Следующая информация появится, если форма отправлена ​​с действительными данными. Если пользователь нажимает на значокДобавить еще ' ссылка, форма появится снова, чтобы вставить данные для следующей записи.

Заключение

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

Как установить League Of Legends на Ubuntu 14.04
Если вы поклонник League of Legends, то это возможность для вас протестировать League of Legends. Обратите внимание, что LOL поддерживается в PlayOnLi...
Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...
Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...