Python

Ako vytvoriť formulár Django?

Ako vytvoriť formulár Django?
Používanie formulára je nevyhnutnou súčasťou každej webovej aplikácie. Vstup od používateľov webových stránok je možné získať pomocou formulára. Môže obsahovať rôzne typy polí, napríklad textové pole, rozbaľovacie pole, začiarkavacie políčko, prepínač atď. získavať údaje od používateľov. Rámec Django obsahuje veľké množstvo knižníc, ktoré vývojárovi webu pomáhajú navrhnúť formulár HTML na prijímanie vstupov od používateľov, spracovanie vstupov a reagovanie na vstupy používateľov.

V tomto návode je uvedené, ako je možné použiť formulár HTML na získanie údajov od používateľa, na čítanie vstupných hodnôt a tlač hodnôt v prehliadači pomocou nástroja Django.

Predpoklady:

Pred vytvorením formulára Django musíte vytvoriť projekt Django. Ak chcete vytvoriť nový projekt Django a prejsť do priečinka projektu, spustite nasledujúce príkazy:

$ django-admin startproject django_pro
$ cd django_pro

Ak chcete vytvoriť potrebné súbory a použiť migrácie pre projekt, spustite nasledujúci príkaz:

$ python3 spravovať.py migrovať

Ak chcete skontrolovať, či server Django funguje správne alebo nie, spustite nasledujúci príkaz:

$ python3 spravovať.py runserver

Ak chcete vytvoriť formapp pod django_pro projektu, spustite nasledujúci príkaz:

$ python3 spravovať.py startapp formapp

Vytvorte formulár HTML pomocou nástroja Django:

Otvor názory.py súbor, ktorý je vo vnútri formapp priečinok a upravte jeho obsah s nasledujúcim obsahom. Nasledujúci skript skontroluje, či je formulár odoslaný alebo nie. Ak je formulár odoslaný, potom hodnota žiadosť.metóda bude POST a žiadosť.POST.dostať () metóda sa používa na čítanie jej zadaných hodnôt. The je platné() funkcia skontroluje, či sú údaje formulára platné alebo nie. Ak táto funkcia vráti hodnotu true, potom sa v prehliadači vytlačí správa o úspechu s platnými údajmi používateľa, inak sa zobrazí chybové hlásenie, ktoré sa zobrazí v konkrétnom poli formulára. Okrem toho render () metóda sa používa na načítanie formulára do prehliadača a HttpResponse () metóda sa používa na odoslanie odpovede zo servera do prehľadávača po odoslaní formulára.

# Importujte potrebné moduly
od djanga.skratky importovať vykreslenie
z formapp.import formulárov StudentForm
od djanga.http import HttpResponse
def form_request (požiadavka):
# Skontrolujte, či je formulár odoslaný alebo nie
na požiadanie.method == 'POST':
student = StudentForm (žiadosť.POST)
# Skontrolujte, či sú údaje formulára platné alebo nie
ak študent.je platné():
# Prečítajte si zadané hodnoty
meno = žiadosť.POST.get ("meno")
email = žiadosť.POST.dostať („e-mail“)
používateľské meno = požiadavka.POST.get ("používateľské meno")
# Zlúčte hodnoty
data = ['Vaša registrácia je úspešne dokončená.
',' Meno: ', meno,'
',' E-mail: ', e-mail,'
',' Užívateľské meno: ', užívateľské meno]
# Vrátiť hodnoty formulára ako odpoveď
vrátiť HttpResponse (údaje)
inak:
# Zobrazte html formulár
student = StudentForm ()
návratové vykreslenie (žiadosť, "formulár.html ", 'form': student)

Vytvoriť formy.py vnútri formapp priečinok a pridajte nasledujúci obsah. Nasledujúci skript vytvorí formu štyroch polí. The názov pole je definované na prevzatie znakových údajov a môže mať 40 znakov. The e-mail pole je definované tak, aby zachytávalo akúkoľvek platnú e-mailovú adresu pomocou znakových údajov a môže mať 50 znakov. The používateľské meno Toto pole je definované na zadanie znakových údajov a môže mať 20 znakov. The heslo pole je definované na prevzatie znakových údajov a môže mať minimálne 10 znakov a maximálne 20 znakov. The formy.Vstup hesla Widget sa používa pre pole hesla na skrytie obsahu poľa hesla.

# Importovať moduly formulárov
z dovozných formulárov django
# Vytvorením triedy definujte polia formulára
trieda StudentForm (formuláre.Formulár):
meno = formy.CharField (label = "Celé meno", max_length = 40)
email = formuláre.EmailField (label = "Email", max_length = 50)
používateľské meno = formuláre.CharField (label = "meno používateľa", max_length = 20)
heslo = formuláre.CharField (label = "Heslo", min_length = 10, max_length = 20, widget = formuláre.PasswordInput)

Vytvorte priečinok s názvom šablóny vnútri formapp priečinok. Choďte do ŠABLÓNY časť nastavenia.py súboru a nastavte umiestnenie súboru šablóna priečinok pre PRIESTORY nehnuteľnosť.

nastavenie.py

TEMPLATES = [

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

Vytvoriť formulár.html vnútri šablóna priečinok s nasledujúcim obsahom.

% csrf_token% sa používa v skripte HTML na zabránenie útokom CSRF (Cross-Site Request Forgeries). formulár.as_p načíta formulár Django, ktorý navrhol formy.py spis. Keď Predložiť po stlačení tlačidla sa údaje formulára odošlú na server.





Registračný formulár používateľa



% csrf_token%
formulár.as_p



Otvor adresy URL.py z django_pro priečinok a upravte obsah pomocou nasledujúceho obsahu.

Tu je 'Registrovať/' cesta sa používa na načítanie formulára do prehliadača.

# Importujte potrebné moduly
od djanga.cesta importu adries URL
z zobrazení importu formapp
# Metóda volania na zobrazenie formulára
urlpatterns = [
cesta („register /“, zobrazenia.form_request)
]

Otvorte ľubovoľný prehľadávač a zadajte nasledujúcu adresu URL, aby sa do prehliadača načítal registračný formulár používateľa.

http: // localhost: 8000 / register

Po spustení adresy URL sa zobrazí nasledujúci výstup. Po zadaní formulára sa skontroluje validácia prázdneho poľa, hodnota maximálnej dĺžky polí pre meno, e-mail a heslo a hodnoty minimálnej a maximálnej dĺžky poľa pre heslo.

Nasledujúci výstup ukazuje, že pole hesla je neplatné. Podľa formulára musí byť dĺžka hodnoty hesla v rozmedzí 10 až 20 znakov. 5 znakov bolo zadaných ako vstup v nasledujúcom formulári. Za týmto účelom formulár zobrazuje chybové hlásenie.

Po zadaní platného výstupu do každého poľa formulára sa zobrazí nasledujúci výstup.

Záver:

V tejto príručke je uvedený spôsob vytvorenia veľmi jednoduchého registračného formulára používateľa v aplikácii Django. Django má veľa metód na vytváranie rôznych typov polí formulára, napríklad CharField (), EmailField (), TextFiled atď. Úloha overenia formulára je veľmi ľahká, keď je formulár navrhnutý formulárom Django.

Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...
Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...