Labākais veids, kā apgūt Django, ir to izmantot, lai izstrādātu pilnas steka lietojumprogrammas. Strādājot ar ietvaru, jūs saskarsities ar daudzām aizraujošām funkcijām. Viens no tiem ir veidlapu atveidošana veidnēs, izmantojot kraukšķīgas formas.
Django-crispy-forms izmantošana ir viens no daudzajiem veidiem, kā varat renderēt veidlapas programmā Django. Atkarība ļauj izveidot veidlapas veidnēs, nerakstot HTML kodu. Varat viegli izveidot atkārtoti lietojamus izkārtojumus, neradot veidlapas koda rakstīšanas grūtības.
Jūs varat uzzināt vairāk, instalējot bibliotēku, pēc tam konfigurējot to un izmantojot to reģistrācijas veidlapas izveidošanai.
Kā darbojas django-crispy-forms
The django-crispy-forms bibliotēka nāk ar iebūvētu HTML kodu, ko varat pielāgot atbilstoši savām vajadzībām. Tas ietver filtru ar nosaukumu |kraukšķīga kas veidnē atveido uz div balstītas formas.
The {% kraukšķīgs %} tags atveidos veidlapas atbilstoši noteiktai setup.django-crispy-forms labi darbojas ar citām veidņu atkarībām, piemēram, Bootstrap un Tailwind CSS.
Apskatīsim, kā tas darbojas veidnē.
Instalējiet Crispy Forms
Sāciet ar izveidojot Django projektu un lietotne. Pēc tam instalējiet jaunāko django-crispy-forms versiju, izmantojot Pipenv ar šādu komandu:
pipenv uzstādīt django-kraukšķīgas-formas
Veiksmīga instalēšana izskatīsies šādi:
Iestatījumos konfigurējiet django-crispy-forms
Pēc instalēšanas projekta iestatījumos ir jāreģistrē kraukšķīgās veidlapas kā atkarība. Reģistrējot to, kraukšķīgo formu bibliotēka būs pieejama visām projekta lietotnēm.
Projektā settings.py failu, pievienojiet virkni 'crispy_forms':
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
'kraukšķīgas_veidlapas',
]
Izveidojiet veidlapu
Lai palīdzētu veikt autentifikāciju, reģistrācijas veidlapa ir jāsinhronizē ar iebūvēto Django lietotāja izveides veidlapu.
Iebūvētais Django lietotāja autentifikācija sistēma apstrādā tādas izplatītas prasības kā paroļu apstiprināšana un atļauju izsniegšana.
Sistēma arī apstrādā veidlapas validāciju jūsu vietā. Tādējādi jūs varat izveidot veidlapas bez grūtībām ar validāciju. Ja esat veicis veidlapu validāciju citās sistēmās, jūs zināt, cik tas var būt apgrūtinoši. Ne ar Django.
Autentifikācijas modulim ir a Lietotājs modelis vai objekts. The Lietotājs objekts ir galvenā lietotāja autentifikācijas sistēmas sastāvdaļa. Tas apstrādā atļaujas, reģistrēto lietotāju profilu autentifikāciju, piekļuves kontroli un daudz ko citu.
The UserCreationForm izmanto iebūvēto Lietotājs iebilst jaunu lietotāju reģistrācijai. Tas ir mantots no ModelForm klases.
Pirmkārt, importējiet veidlapas no Django veidlapu moduļa. Pēc tam importējiet UserCreationForm no django.contrib.auth.forms. Importējiet arī iebūvēto Lietotājs modelis no django.contrib.auth.models. Pēc tam importējiet lauka ievades datus no django ModelForm.
no django imports veidlapas
nodjango.contrib.auth.veidlapasimportsUserCreationForm
nodjango.contrib.auth.modeļiimportsLietotājs
no django.formas imports ModelForm, TextInput, EmailInput, ImageField, Textarea
Pēc tam izveidojiet reģistrācijas objektu ar nosaukumu ReģistrētiesLietotāja forma. Tas aizņem UserCreationForm kā arguments. Pievienojiet Lietotājs objektu lauki, piemēram, e-pasta autentifikācija, lietotājvārds un divas paroles.
klasēReģistrētiesLietotāja forma(UserCreationForm):
e-pasts = veidlapas. E-pasta lauks (max_length=254, help_text='Obligāti. Ievadiet derīgu epasta adresi.')
klasēMeta:
modelis = lietotājs
lauki = ('lietotājvārds', 'e-pasts', 'parole1', 'parole2')
Šie lauki ir primārie lietotāja atribūti reģistrācijas veidlapā. Tās ir obligātas ievades, kas lietotājiem ir jāaizpilda, lai sistēma tos autentificētu.
Izveidojiet skata funkciju
Pēc tam reģistrācijas veidlapai izveidosit skatīšanas funkciju. Pirmkārt, importējiet renderēšanas funkciju, kā arī ReģistrētiesLietotāja forma no forms.py. Pēc tam importējiet Lietotājs modelis no django.contrib.auth.models.
Skatīšanas funkcija ar nosaukumu register aizņem ReģistrētiesLietotāja forma. Tas atveidos to uz register.html veidne.
no django.shortcuts imports renderēt,
no django.http imports HttpResponse, Http404
no .veidlapas imports ReģistrētiesLietotāja forma
nodjango.contrib.auth.modeļiimportsLietotājs
defreģistrēties(pieprasījums):
form=RegisterUserForm
konteksts={'formā':form}
atgriezt renderēšanu (pieprasīt,'register.html',konteksts)
Izveidojiet URL ceļu
Izveidojiet URL ceļu priekš register.html veidne. Šis URL ir tikko izveidotās skata funkcijas ceļš. Dodiet tai nosaukumu reģistrēties, lai jūs varētu izmantot vārdu, lai to izsauktu veidnē.
no django.urls imports ceļš
no. imports skatījumi
urlpatterns=[
ceļš ('reģistrēties', views.register, name='reģistrēties'),
]
Ielādējiet veidni
Tagad, kad jums ir skats un URL ceļš, varat izveidot register.html veidni lietotņu mapē. Lai atveidotu, izmantosit django-crispy-formas ReģistrētiesLietotāja forma.
Iekš register.html veidni, pagariniet base.html. The base.html satur Bootstrap saites jūs izmantosit reģistrācijas veidlapas veidošanai. Pēc tam ielādējiet django-crispy-forms ar register.html, izmantojot veidņu tagus.
{% pagarina 'base.html' %}
{% load crispy_forms_tags %}
{% bloķēt saturu %}
<div klase="konteiners" stils ="">
<div klase="rinda">
<div klase="col-md-2"></div>
<div klase="col-md-8">
<div klase="karti" stils ="krāsa: melna;">
<div klase="karte-body">
<h5 klase="kartes nosaukums"><a>Reģistrējieties, lai kļūtu par biedru</a><span style="pludiņš: pa labi">Vai esat biedrs? <a href="#" klase="teksts-primārais">Piesakieties tagad</a></span></h5>
<div klase="kartīte-teksts">
<forma darbība="" metode ="POSTĪT" novalidēt>
{% csrf_token %}
{{ forma|kraukšķīgs}}
<pogas veids="Iesniegt" klase="btn btn-primary btn-sm"> Reģistrēties</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
Veidlapa ietver csrf_token, kas aizsargā reģistrācijas procesu no hakeriem. Atveidojiet formu ar tādu pašu mainīgā nosaukumu kā skata funkcijā. Pēc tam pievienojiet |kraukšķīgs filtrēt uz Django {{forma}} mainīgs. Tas padarīs formu par kraukšķīgu formu.
Palaidiet serveri. Pēc tam pārbaudiet lietotni pārlūkprogrammā vietnē http://127.0.0.1:8000/register. Jums vajadzētu redzēt veidlapu, kas parādīta, kā parādīts zemāk:
Jūs esat aizpildījis reģistrācijas veidlapu, izmantojot kraukšķīgas formas! Ņemiet vērā, ka Django automātiski pievienoja veidlapai validāciju. Tie ietver tādas prasības kā lietotājvārda un paroles atļaujas.
Lai izveidotu pilnīgu reģistrēšanās sistēmu, apskates funkcijai pievienojiet autentifikācijas loģiku. Varat arī pievienot pieteikšanās lapu, lai pierakstītos reģistrētiem lietotājiem. Lai pierakstītos lietotnē, lietotājiem ir jāizpilda autentifikācijas prasības.
Django-crispy-forms bibliotēka ļauj ātri un viegli renderēt apstiprinātas veidlapas. Datu apstiprināšana nodrošina precīzus datus no lietotājiem.
Dati ir noderīgi, sazinoties ar lietotājiem un analizējot veiktspējas rādītājus.
Kāpēc izmantot django-kraukšķīgās formas?
Kraukšķīgo veidlapu bibliotēkas izmantošana veidlapu renderēšanai programmā Django ir lielisks piemērs DRY principa piemērošanai. django-crispy-forms izveido atkārtoti lietojamus komponentus, kurus varat renderēt veidnēs.
Tiem ir iebūvēts HTML kods. Kods ietaupīs no veidlapu strukturēšanas un apstiprināšanas grūtībām. Kraukšķīgās veidlapas nodrošina tagu un filtru, kas atveido veidlapas div formātā. Tie nodrošina arī iespēju konfigurēt un kontrolēt renderēto HTML.
django-crispy-forms labi darbojas ar Django autentifikācijas sistēmu. Varat izveidot autentifikācijas sistēmu, lai pārbaudītu savus lietotājus, nerakstot daudz koda.