Python

Как создать форму Django?

Как создать форму Django?
Использование формы - неотъемлемая часть любого веб-приложения. Данные, поступающие от пользователей веб-сайта, могут быть приняты с помощью формы. Он может содержать различные типы полей, такие как текстовое поле, поле со списком, флажок, переключатель и т. Д. брать данные от пользователей. Фреймворк Django содержит большое количество библиотек, чтобы помочь веб-разработчику разработать HTML-форму для приема ввода от пользователя, обработки ввода и ответа на ввод пользователя.

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

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

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

$ django-admin startproject django_pro
$ cd django_pro

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

$ python3 manage.Py migrate

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

$ python3 manage.py runserver

Для создания formapp под django_pro project, выполните следующую команду:

$ python3 manage.py startapp formapp

Создайте HTML-форму с помощью Django:

Открой взгляды.ру файл, который находится внутри formapp папку и измените ее содержимое следующим содержимым. Следующий скрипт проверит, отправлена ​​ли форма или нет. Если форма отправлена, значение запрос.метод будет POST и запрос.ПОЧТА.получать() используется для чтения представленных значений. В действует() функция проверит, верны ли данные формы или нет. Если эта функция возвращает истину, тогда в браузере будет напечатано сообщение об успешном завершении с действительными данными пользователя, в противном случае будет отображено сообщение об ошибке, которое появляется в конкретном поле формы. Помимо этого, оказывать() используется для загрузки формы в браузере и HttpResponse () используется для отправки ответа с сервера в браузер после отправки формы.

# Импортировать необходимые модули
из джанго.ярлыки импорт рендеринга
из formapp.формы импортировать StudentForm
из джанго.http импорт HttpResponse
def form_request (запрос):
# Проверяем, отправлена ​​ли форма
если запрос.method == 'POST':
student = StudentForm (запрос.ПОЧТА)
# Проверяем данные формы действительны или нет
если студент.действует():
# Прочитать представленные значения
имя = запрос.ПОЧТА.получить ("имя")
электронная почта = запрос.ПОЧТА.получить ("электронная почта")
имя пользователя = запрос.ПОЧТА.get ("имя пользователя")
# Объединить значения
data = ['Ваша регистрация успешно завершена.
',' Имя: ', имя,'
',' Электронная почта: ', электронная почта,'
',' Имя пользователя: ', имя пользователя]
# Возвращаем значения формы как ответ
вернуть HttpResponse (данные)
еще:
# Отобразить html-форму
студент = StudentForm ()
возврат рендера (запрос, "форма".html ", 'form': student)

Создавать формы.ру внутри formapp папку и добавьте следующий контент. Следующий скрипт создаст форму из четырех полей. В название поле определено для ввода символьных данных и может быть длиной 40 символов. В электронное письмо поле определено для приема любого действительного адреса электронной почты с использованием символьных данных и может быть длиной 50 символов. В имя пользователя поле определено для приема символьных данных и может быть длиной 20 символов. В пароль поле определено для приема символьных данных и может содержать минимум 10 символов и максимум 20 символов. В формы.ПарольВвод виджет используется для поля пароля, чтобы скрыть содержимое поля пароля.

# Импортировать модули формы
из форм импорта django
# Создать класс для определения полей формы
класс StudentForm (формы.Форма):
имя = формы.CharField (label = "Полное имя", max_length = 40)
электронная почта = формы.EmailField (label = "Электронная почта", max_length = 50)
имя пользователя = формы.CharField (label = "Имя пользователя", max_length = 20)
пароль = формы.CharField (label = "Пароль", min_length = 10, max_length = 20, widget = forms.PasswordInput)

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

настройки.ру

ШАБЛОНЫ = [

'DIRS': ['/ home / fahmida / django_pro / formapp / templates']
,
]

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

% csrf_token% используется в HTML-скрипте для предотвращения атак CSRF (подделки межсайтовых запросов). форма.as_p загрузит форму Django, разработанную формы.ру файл. Когда Представлять на рассмотрение кнопка нажата, данные формы будут отправлены на сервер.





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



% csrf_token%
форма.as_p



Открой URL-адреса.ру от django_pro папку и измените содержимое следующим содержимым.

Здесь 'регистр/' путь используется для загрузки формы в браузере.

# Импортировать необходимые модули
из джанго.путь импорта URL
из представлений импорта formapp
# Вызвать метод для отображения формы
urlpatterns = [
путь ('регистр /', просмотры.form_request)
]

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

http: // localhost: 8000 / регистрация

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

Следующий вывод показывает, что поле пароля недействительно. Согласно форме, длина значения пароля должна быть в пределах от 10 до 20 символов. В качестве входных данных было задано 5 символов в следующей форме. Для этого в форме отображается сообщение об ошибке.

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

Заключение:

В этом руководстве показан способ создания очень простой формы регистрации пользователя в приложении Django. В Django есть много методов для создания различных типов полей формы, таких как CharField (), EmailField (), TextFiled и т. Д. Задача проверки формы становится намного проще, если форма разработана с помощью формы Django.

Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...
Лучшие игры с командной строкой для Linux
Командная строка - не только ваш главный союзник при использовании Linux - она ​​также может быть источником развлечений, потому что вы можете использ...
Лучшие приложения для сопоставления геймпадов для Linux
Если вам нравится играть в игры на Linux с помощью геймпада вместо стандартной системы ввода с клавиатуры и мыши, для вас есть несколько полезных прил...