В этом руководстве показано, как 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, разработанную формы.ру файл. Когда Представлять на рассмотрение кнопка нажата, данные формы будут отправлены на сервер.
Открой URL-адреса.ру от django_pro папку и измените содержимое следующим содержимым.
Здесь 'регистр/' путь используется для загрузки формы в браузере.
# Импортировать необходимые модулииз джанго.путь импорта URL
из представлений импорта formapp
# Вызвать метод для отображения формы
urlpatterns = [
путь ('регистр /', просмотры.form_request)
]
Откройте любой браузер и введите следующий URL-адрес, чтобы загрузить форму регистрации пользователя в браузере.
http: // localhost: 8000 / регистрация
Следующий вывод появится после запуска URL. После отправки формы будет проверяться проверка пустого поля, максимального значения длины полей имени, электронной почты и пароля, а также минимального и максимального значений длины поля пароля.
Следующий вывод показывает, что поле пароля недействительно. Согласно форме, длина значения пароля должна быть в пределах от 10 до 20 символов. В качестве входных данных было задано 5 символов в следующей форме. Для этого в форме отображается сообщение об ошибке.
После ввода действительного вывода в каждое поле формы появится следующий вывод.
Заключение:
В этом руководстве показан способ создания очень простой формы регистрации пользователя в приложении Django. В Django есть много методов для создания различных типов полей формы, таких как CharField (), EmailField (), TextFiled и т. Д. Задача проверки формы становится намного проще, если форма разработана с помощью формы Django.