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 runserverAk chcete vytvoriť formapp pod django_pro projektu, spustite nasledujúci príkaz:
$ python3 spravovať.py startapp formappVytvorte 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é modulyod 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árovz 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.
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é modulyod 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.