Krajta

Jak vytvořit formulář Django?

Jak vytvořit formulář Django?
Použití formuláře je nezbytnou součástí jakékoli webové aplikace. Vstup od uživatelů webových stránek lze provést pomocí formuláře. Může obsahovat různé typy polí, například textové pole, rozbalovací seznam, zaškrtávací políčko, přepínač atd. odebírat data od uživatelů. Rámec Django obsahuje velké množství knihoven, které webovému vývojáři pomáhají navrhnout formulář HTML pro převzetí vstupu od uživatele, zpracování vstupu a reakci na vstup uživatele.

V tomto výukovém programu je ukázáno, jak lze pomocí formuláře HTML odebírat data od uživatele, číst vstupní hodnoty a tisknout hodnoty v prohlížeči pomocí Django.

Předpoklady:

Před vytvořením formuláře Django musíte vytvořit projekt Django. Chcete-li vytvořit nový projekt Django a přejít do složky projektu, spusťte následující příkazy:

$ django-admin startproject django_pro
$ cd django_pro

Chcete-li vytvořit nezbytné soubory a použít migrace pro projekt, spusťte následující příkaz:

$ python3 spravovat.py migrovat

Chcete-li zkontrolovat, zda server Django funguje správně nebo ne, spusťte následující příkaz:

$ python3 spravovat.py runserver

Chcete-li vytvořit formapp pod django_pro projektu, spusťte následující příkaz:

$ python3 spravovat.py startapp formapp

Vytvořit formulář HTML pomocí Django:

Otevři pohledy.py soubor, který je uvnitř formapp složku a upravte její obsah následujícím obsahem. Následující skript ověří, zda je formulář odeslán nebo ne. Pokud je formulář odeslán, pak hodnota žádost.metoda bude POST a žádost.POŠTA.dostat() metoda se používá ke čtení odeslaných hodnot. The je platná() funkce zkontroluje, zda jsou údaje formuláře platné nebo ne. Pokud tato funkce vrátí hodnotu true, pak se v prohlížeči vytiskne zpráva o úspěchu s platnými údaji uživatele, jinak se zobrazí chybová zpráva, která se zobrazí v konkrétním poli formuláře. Kromě toho poskytnout() metoda se používá k načtení formuláře do prohlížeče a HttpResponse () metoda se používá k odeslání odpovědi ze serveru do prohlížeče po odeslání formuláře.

# Importujte potřebné moduly
od djanga.zástupce importovat vykreslení
z formapp.import formulářů StudentForm
od djanga.http import HttpResponse
def form_request (požadavek):
# Zkontrolujte, zda je formulář odeslán nebo ne
na žádost.metoda == 'POST':
student = StudentForm (požadavek.POŠTA)
# Zkontrolujte, zda jsou údaje formuláře platné nebo ne
pokud student.je platná():
# Přečtěte zadané hodnoty
name = požadavek.POŠTA.get ("jméno")
email = požadavek.POŠTA.získat („e-mail“)
uživatelské jméno = požadavek.POŠTA.get ("uživatelské jméno")
# Sloučit hodnoty
data = ['Vaše registrace je úspěšně dokončena.
',' Jméno: ', jméno,'
',' E-mail: ', e-mail,'
',' Uživatelské jméno: ', uživatelské jméno]
# Vrátit hodnoty formuláře jako odpověď
vrátit HttpResponse (data)
jiný:
# Zobrazte html formulář
student = StudentForm ()
vrátit vykreslení (žádost, "formulář.html ", 'form': student)

Vytvořit formuláře.py uvnitř formapp složku a přidejte následující obsah. Následující skript vytvoří podobu čtyř polí. The název pole je definováno pro převzetí dat znaků a může mít 40 znaků. The e-mailem pole je definováno tak, aby bralo jakoukoli platnou e-mailovou adresu pomocí znaků a může mít délku 50 znaků. The uživatelské jméno pole je definováno pro převzetí dat znaků a může mít délku 20 znaků. The Heslo pole je definováno tak, aby přijímalo znaková data, a může mít minimálně 10 znaků a maximálně 20 znaků. The formuláře.Vstup hesla Widget se používá pro pole hesla pro skrytí obsahu pole hesla.

# Importujte moduly formulářů
z importních formulářů django
# Vytvořit třídu k definování polí formuláře
třída StudentForm (formuláře.Formulář):
jméno = formuláře.CharField (label = "Celé jméno", max_length = 40)
email = formuláře.EmailField (label = "Email", max_length = 50)
uživatelské jméno = formuláře.CharField (label = "Uživatelské jméno", max_length = 20)
heslo = formuláře.CharField (štítek = "heslo", min_length = 10, max_length = 20, widget = formuláře.PasswordInput)

Vytvořte složku s názvem šablony uvnitř formapp složku. Přejít na ŠABLONY část nastavení.py soubor a nastavte umístění souboru šablona složka pro ŘÁDY vlastnictví.

nastavení.py

TEMPLATES = [

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

Vytvořit formulář.html uvnitř šablona složku s následujícím obsahem.

% csrf_token% se ve skriptu HTML používá k prevenci útoků CSRF (Cross-Site Request Forgeries). formulář.as_p načte formulář Django, který je navržen formuláře.py soubor. Když Předložit po stisknutí tlačítka se data formuláře odešlou na server.





Registrační formulář uživatele



% csrf_token%
formulář.as_p



Otevři adresy URL.py z django_pro složku a upravte obsah následujícím obsahem.

Tady 'Registrovat/' cesta se používá k načtení formuláře do prohlížeče.

# Importujte potřebné moduly
od djanga.cesta pro import adres URL
ze zobrazení importu formapp
# Metoda volání pro zobrazení formuláře
urlpatterns = [
path ('register /', views.form_request)
]

Otevřete libovolný prohlížeč a zadejte následující adresu URL, abyste do prohlížeče načetli registrační formulář uživatele.

http: // localhost: 8000 / registr

Po spuštění adresy URL se zobrazí následující výstup. Po odeslání formuláře se zkontroluje validace prázdného pole, maximální délka pole pro jméno, e-mail a heslo a minimální a maximální délka pole pro heslo.

Následující výstup ukazuje, že pole pro heslo je neplatné. Podle formuláře musí být délka hodnoty hesla v rozmezí 10 až 20 znaků. V následujícím formuláři bylo zadáno 5 znaků. Za tímto účelem se ve formuláři zobrazuje chybová zpráva.

Po zadání platného výstupu do každého pole formuláře se zobrazí následující výstup.

Závěr:

Způsob vytvoření velmi jednoduchého registračního formuláře uživatele v aplikaci Django byl ukázán v tomto kurzu. Django má mnoho metod pro vytváření různých typů polí formuláře, například CharField (), EmailField (), TextFiled atd. Úkol ověření formuláře se stává velmi snadným, když je formulář navržen formou Django.

Hry Nejlepší hry pro ruční sledování
Nejlepší hry pro ruční sledování
Oculus Quest nedávno představil skvělou myšlenku ručního sledování bez ovladačů. S neustále se zvyšujícím počtem her a aktivit, které provádějí podpor...
Hry Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Hraní her na celou obrazovku nebo používání aplikací v režimu celé obrazovky bez rozptýlení vás mohou odříznout od příslušných systémových informací v...
Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...