Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Najboljši način za obvladovanje Djanga je, da ga uporabite za razvoj aplikacij s polnim skladom. Pri delu z ogrodjem boste naleteli na številne zanimive funkcije. Eden od njih je, kako upodobiti obrazce v predlogah s hrustljavimi obrazci.

Uporaba django-crispy-forms je eden od mnogih načinov, kako lahko upodabljate obrazce v Djangu. Odvisnost vam omogoča ustvarjanje obrazcev v predlogah brez pisanja kode HTML. Z lahkoto lahko ustvarite postavitve za večkratno uporabo brez težav s pisanjem kode obrazca.

Več lahko izveste tako, da namestite knjižnico, jo nato konfigurirate in uporabite za ustvarjanje registracijskega obrazca.

Kako deluje django-crispy-forms

The knjižnica django-crispy-forms prihaja z vgrajeno kodo HTML, ki jo lahko prilagodite svojim potrebam. Vključuje filter z imenom |hrustljavo ki v predlogi upodablja obrazce, ki temeljijo na div.

instagram viewer

The {% hrustljavo %} oznake bodo upodabljale obrazce v skladu z določeno nastavitvijo. django-crispy-forms dobro deluje z drugimi odvisnostmi predloge, kot sta Bootstrap in Tailwind CSS.

Poglejmo, kako to deluje v predlogi.

Namestite Crispy Forms

Začni z ustvarjanje projekta Django in app. Nato namestite najnovejšo različico django-crispy-forms z uporabo Pipenv z naslednjim ukazom:

pipenv namestite django-hrustljave oblike

Uspešna namestitev bo videti kot na spodnji sliki:

Konfigurirajte django-crispy-forms v nastavitvah

Po namestitvi morate hrustljave oblike registrirati kot odvisnost v nastavitvah projekta. Z registracijo bo knjižnica crispy forms na voljo vsem aplikacijam v projektu.

V projektu nastavitve.py datoteko, dodajte niz 'crispy_forms':

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
'hrustljave_oblike',
]

Ustvarite obrazec

Za pomoč pri preverjanju pristnosti morate svoj obrazec za registracijo sinhronizirati z vgrajenim obrazcem za ustvarjanje uporabnika Django.

Vgrajeni Preverjanje pristnosti uporabnika Django sistem obravnava običajne zahteve, kot je potrjevanje gesel in izdajanje dovoljenj.

Sistem za vas poskrbi tudi za preverjanje obrazcev. Tako lahko ustvarite obrazce brez težav s preverjanjem. Če ste preverjanje obrazca izvajali v drugih okvirih, boste vedeli, kako okorno je lahko. Ne z Djangom.

Modul za preverjanje pristnosti ima a Uporabnik model ali predmet. The Uporabnik objekt je glavna komponenta sistema za preverjanje pristnosti uporabnikov. Ukvarja se z dovoljenji, preverjanjem pristnosti profilov registriranih uporabnikov, nadzorom dostopa in še veliko več.

The UserCreationForm uporablja vgrajeno Uporabnik objekt za registracijo novih uporabnikov. Podeduje razred ModelForm.

Najprej uvozite obrazce iz modula obrazcev Django. Nato uvozite UserCreationForm od django.contrib.auth.forms. Uvozite tudi vgrajeno Uporabnik model iz django.contrib.auth.models. Nato uvozite vnose polj iz django ModelForm.

od django uvoz obrazci
oddjango.contrib.auth.obrazciuvozUserCreationForm
oddjango.contrib.auth.modeliuvozUporabnik
od django.forms uvoz ModelForm, TextInput, EmailInput, ImageField, Textarea

Nato ustvarite registracijski objekt z imenom RegisterUserForm. Potrebno je UserCreationForm kot argument. Dodajte Uporabnik predmetna polja, kot so preverjanje pristnosti e-pošte, uporabniško ime in dve gesli.

razredRegisterUserForm(UserCreationForm):
e-pošta = obrazci. EmailField (max_length=254, help_text='Obvezno. Vnesite veljaven e-poštni naslov.')
razredMeta:
model = uporabnik
polja = ('uporabniško ime', 'E-naslov', 'geslo1', 'geslo2')

Ta polja so primarni atributi uporabnika na obrazcu za registracijo. To so obvezni vnosi, ki jih morajo uporabniki izpolniti, da jih sistem avtentificira.

Ustvarite funkcijo pogleda

Nato boste ustvarili funkcijo pogleda za obrazec za registracijo. Najprej uvozite funkcijo upodabljanja in RegisterUserForm iz forms.py. Nato uvozite Uporabnik model iz django.contrib.auth.models.

Funkcija pogleda, imenovana register, prevzame RegisterUserForm. Upodobil ga bo na register.html predlogo.

od django.shortcuts uvoz upodabljanje,
od django.http uvoz HttpResponse, Http404
od .obrazci uvoz RegisterUserForm
oddjango.contrib.auth.modeliuvozUporabnik
defregister(prošnja):
form=RegisterUserForm
kontekst={'oblika':oblika}
vrni render (zahteva,'register.html',kontekst)

Ustvari pot URL

Ustvarite URL pot za register.html predlogo. Ta URL je pot do funkcije pogleda, ki ste jo pravkar ustvarili. Daj mu ime register, tako da lahko uporabite ime, da ga pokličete na predlogi.

od django.urls uvoz pot
od. uvoz pogledi
urlpatterns=[
pot ('register', views.register, ime='register'),
]

Naložite predlogo

Zdaj, ko imate pogled in URL pot, lahko ustvarite register.html predlogo v mapi aplikacije. Za upodabljanje boste uporabili django-crispy-forms RegisterUserForm.

V register.html predlogo, razširite base.html. The base.html vsebuje Bootstrap povezave boste uporabili za oblikovanje registracijskega obrazca. Nato naložite django-crispy-forms z register.html z uporabo oznak predloge.

{% se razteza 'base.html' %}
{% load crispy_forms_tags %}
{% blok vsebine %}
<razred div="posoda" slog="">
<razred div="vrstica">
<razred div="col-md-2"></div>
<razred div="col-md-8">
<razred div="kartica" slog="barva: črna;">
<razred div="telo kartice">
<h5 razred="naslov kartice"><a>Registrirajte se za člana</a><span style="lebdi: desno">Ste član? <a href="#" razred="besedilo-primarno">Prijavi se zdaj</a></span></h5>
<razred div="besedilo kartice">
<obrazec dejanje="" metoda="OBJAVI" novalidirati>
{% csrf_token %}
{{ oblika|hrustljavo}}
<tip gumba="predložiti" razred="btn btn-primarni btn-sm"> Registrirajte se</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

Obrazec vključuje csrf_token, ki ščiti postopek registracije pred hekerji. Upodobite obrazec z istim imenom spremenljivke kot v funkciji pogleda. Nato dodajte |hrustljava filter v Django {{oblika}} spremenljivka. Tako bo oblika postala hrustljava.

Zaženite strežnik. Nato preverite aplikacijo v brskalniku na http://127.0.0.1:8000/register. Morali bi videti prikazan obrazec, kot je prikazano spodaj:

Izdelali ste obrazec za registracijo s hrustljavimi obrazci! Upoštevajte, da je Django samodejno dodal preverjanje v obrazec. Te vključujejo zahteve, kot so dovoljenja za uporabniško ime in geslo.

Če želite imeti popoln sistem prijave, dodajte logiko preverjanja pristnosti funkciji pogleda. Dodate lahko tudi prijavno stran za prijavo registriranih uporabnikov. Uporabniki bi morali izpolnjevati zahteve za preverjanje pristnosti, da se prijavijo v aplikacijo.

Knjižnica django-crispy-forms vam omogoča hitro in preprosto upodabljanje potrjenih obrazcev. Preverjanje podatkov zagotavlja točne podatke vaših uporabnikov.

Podatki pridejo prav pri komunikaciji z uporabniki in analizi meritev uspešnosti.

Zakaj uporabljati django-crispy-forms?

Uporaba knjižnice hrustljavih obrazcev za upodabljanje obrazcev v Djangu je odličen primer, kako uporabiti načelo DRY. django-crispy-forms ustvari komponente za večkratno uporabo, ki jih lahko upodabljate v predlogah.

Imajo vgrajeno kodo HTML. Koda vam bo prihranila težave s strukturiranjem in potrjevanjem obrazcev. Hrustljavi obrazci zagotavljajo oznako in filter, ki upodablja obrazce v formatu div. Omogočajo tudi konfiguracijo in nadzor upodobljenega HTML-ja.

django-crispy-forms dobro deluje s sistemom za preverjanje pristnosti Django. Ustvarite lahko sistem za preverjanje pristnosti, da preverite svoje uporabnike, ne da bi pisali veliko kode.