Jak stworzyć formularz Django?

Jak stworzyć formularz Django?
Zastosowanie formularza jest istotną częścią każdej aplikacji internetowej. Wejście użytkowników witryny można podjąć za pomocą formularza. Może zawierać różne typy pól, takie jak pole tekstowe, pole kombi, pole wyboru, przycisk opcji itp. Aby wziąć dane od użytkowników. Django Framework zawiera dużą liczbę bibliotek, które pomogą programistowi internetowi w zaprojektowaniu formularza HTML do przyjmowania danych wejściowych od użytkownika, przetworzenia danych wejściowych i odpowiedzi na dane wejściowe użytkownika.

Jak można użyć formularza HTML do przyjmowania danych od użytkownika, odczytania wartości wejściowych i drukowania wartości w przeglądarce za pomocą Django jest pokazany w tym samouczku.

Wymagania wstępne:

Musisz utworzyć projekt Django przed utworzeniem formularza Django. Aby utworzyć nowy projekt Django i przejdź do folderu projektu, uruchom następujące polecenia:

$ django-admin startproject django_pro
$ cd django_pro

Aby utworzyć niezbędne pliki i zastosować migracje do projektu, uruchom następujące polecenie:

$ Python3 Zarządzaj.Py migruj

Aby sprawdzić, czy serwer Django działa poprawnie, czy nie, uruchom następujące polecenie:

$ Python3 Zarządzaj.Py Runserver

Aby stworzyć FormApp pod django_pro Projekt, uruchom następujące polecenie:

$ Python3 Zarządzaj.PY STARTAPP FORMAPP

Utwórz formularz HTML za pomocą Django:

Otworzyć wyświetlenia.py Plik, który jest w środku FormApp folder i zmodyfikuj jego treść za pomocą następującej treści. Poniższy skrypt sprawdzi, czy formularz jest przesłany, czy nie. Jeśli formularz zostanie przesłany, wówczas wartość wniosek.metoda będzie post i wniosek.POST.Dostawać() Metoda jest używana do odczytania przesłanych wartości. jest ważna() Funkcja sprawdzi, czy dane formularza są prawidłowe, czy nie. Jeśli ta funkcja zwróci true, wówczas komunikat sukcesu z prawidłowymi danymi użytkownika zostanie wydrukowany w przeglądarce, w przeciwnym razie zostanie wyświetlony komunikat o błędzie, który pojawi się w określonym polu formularza. Poza tym, renderowanie() Metoda służy do załadowania formularza w przeglądarce i Httpresponse () Metoda służy do wysyłania odpowiedzi z serwera do przeglądarki po przesłaniu formularza.

# Zaimportuj niezbędne moduły
z Django.KRÓTKI IMPORTOWANE RENDER
z formapp.Formularze Import StudentForm
z Django.HTTP Import HTTPRESPESS
def form_request (żądanie):
# Sprawdź formularz jest przesłany lub nie
na żądanie.Method == „Post”:
Student = StudentForm (prośba.POST)
# Sprawdź, czy dane z formularza są prawidłowe lub nie
Jeśli student.jest ważna():
# Przeczytaj przesłane wartości
Nazwa = żądanie.POST.Get („Nazwa”)
e -mail = żądanie.POST.Get („E -mail”)
Nazwa użytkownika = żądanie.POST.Get („Nazwa użytkownika”)
# Scal wartości
data = ['Twoja rejestracja jest zakończona pomyślnie.
', 'Nazwa nazwa, '
„,„ E -mail: ”, e -mail”
„,„ Nazwa użytkownika: ”, nazwa użytkownika]
# Zwróć wartości formularza jako odpowiedź
zwróć HttPesponse (dane)
w przeciwnym razie:
# Wyświetl formularz HTML
Student = StudentForm ()
return render (żądanie ”, formularz.html ", „ form ”: student)

Tworzyć form.py w środku FormApp folder i dodaj następującą zawartość. Poniższy skrypt utworzy formę czterech pól. nazwa Pole jest zdefiniowane, aby wziąć dane znaków i może to mieć 40 znaków. e-mail Pole jest zdefiniowane, aby przyjąć dowolny prawidłowy adres e -mail za pomocą danych znaków i może to wykonywać 50 znaków. nazwa użytkownika pole definiuje się, aby wziąć dane znaków i może to mieć 20 znaków. hasło Pole jest zdefiniowane, aby wziąć dane postaci i może to być co najmniej 10 znaków i maksymalnie 20 znaków. form.PasswordInput Widżet służy do pola hasła, aby ukryć zawartość pola hasła.

# Importuj moduły formularza
z formularzy importu Django
# Utwórz klasę, aby zdefiniować pola formularza
Klasa Studentform (formularze.Formularz):
Nazwa = formularze.Charfield (etykieta = „pełna nazwa”, max_length = 40)
e -mail = formularze.E -mail (label = "e -mail", max_length = 50)
Nazwa użytkownika = formularze.Charfield (label = „nazwa użytkownika”, max_length = 20)
hasło = formularze.Charfield (label = "hasło", min_length = 10, max_length = 20, widget = formularze.PasswordInput)

Utwórz folder o nazwie szablony w środku FormApp teczka. Idź do Szablony Sekcja ustawienia.py złożyć i ustaw lokalizację szablon folder dla Dirs nieruchomość.

Ustawienia.py

Szablony = [

„Dirs”: ['/home/fahmida/django_pro/formapp/szablony']]
,
]

Tworzyć formularz.html w środku szablon folder z następującą zawartością.

% csrf_token % jest używany w skrypcie HTML w celu zapobiegania atakom CSRF (podbrody żądania krzyżowego). formularz.as_p załaduje formularz Django zaprojektowany przez form.py plik. Kiedy Składać Przycisk jest naciśnięty, dane z formularza zostaną przesłane do serwera.





Formularz rejestracji użytkownika



% csrf_token %
formularz.as_p



Otworzyć URL.py z django_pro folder i zmodyfikuj treść za pomocą następującej treści.

Tutaj 'rejestr/' Ścieżka służy do załadowania formularza w przeglądarce.

# Zaimportuj niezbędne moduły
z Django.URL ścieżki importu
Z FormApp Import Views
# Metoda wywołania wyświetlania formularza
urlpatterns = [
ścieżka („rejestr/”, widoki.form_request)
]

Otwórz dowolną przeglądarkę i wpisz następujący adres URL, aby załadować formularz rejestracji użytkownika w przeglądarce.

http: // localhost: 8000/rejestracja

Następujące wyjście pojawią się po uruchomieniu adresu URL. Walidacja pustego pola, maksymalna wartość długości nazwy, poczty e -mail i hasła oraz minimalne i maksymalne wartości pola hasła zostaną sprawdzone po przesłaniu formularza.

Poniższe wyjście pokazuje, że pole hasła jest nieprawidłowe. Zgodnie z formularzem długość wartości hasła musi wynosić od 10 do 20 znaków. 5 znaków podano jako dane wejściowe w następującym formularzu. W tym formularzu przedstawia komunikat o błędzie.

Po wprowadzeniu ważnego wyjścia w każdym polu formularza pojawi się następujące dane wyjściowe.

Wniosek:

W tym samouczku pokazano sposób utworzenia bardzo prostego formularza rejestracji użytkownika w aplikacji Django. Django ma wiele metod tworzenia różnych rodzajów pól formularza, takich jak Charfield (), e -mailfield (), textfiled itp. Zadanie sprawdzania poprawności formularza staje się bardzo łatwiejsze, gdy formularz jest zaprojektowany przez formę Django.