Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

A Django elsajátításának legjobb módja, ha teljes veremű alkalmazások fejlesztésére használjuk. A keretrendszerrel való munka során számos lenyűgöző funkcióval találkozhat. Az egyik az űrlapok sablonokban való megjelenítése ropogós formákkal.

A django-crispy-forms használata egyike a sokféle módnak, amellyel nyomtatványokat jeleníthet meg a Django-ban. A függőség lehetővé teszi űrlapok létrehozását sablonokban HTML-kód írása nélkül. Könnyedén készíthet újrafelhasználható elrendezéseket anélkül, hogy az űrlapkód írásával kellene fáradnia.

További információt a könyvtár telepítésével, majd konfigurálásával és regisztrációs űrlap létrehozásával tudhat meg.

Hogyan működik a django-crispy-forms

A django-crispy-forms könyvtár beépített HTML-kóddal érkezik, amelyet igényei szerint testre szabhat. nevű szűrőt tartalmaz |ropogós amely div-alapú formákat jelenít meg a sablonban.

instagram viewer

A {% ropogós %} A tagswill az űrlapokat egy adott beállítás szerint jeleníti meg. A django-crispy-forms jól működik más sablonfüggőségekkel, például a Bootstrap és a Tailwind CSS-szel.

Nézzük meg, hogyan működik ez egy sablonban.

Telepítse a Crispy Forms alkalmazást

Kezdje ezzel Django projekt létrehozása és kb. Ezután telepítse a django-crispy-forms legújabb verzióját a Pipenv használatával a következő paranccsal:

pipenv telepítés django-ropogós-formák

A sikeres telepítés az alábbi képen látható:

Konfigurálja a django-crispy-formákat a Beállításokban

A telepítés után a ropogós űrlapokat függőségként kell regisztrálnia a projektbeállításokban. A regisztrációval a ropogós űrlapok könyvtára elérhető lesz a projektben résztvevő összes alkalmazás számára.

A projektben settings.py fájlt, adja hozzá a karakterláncot 'crispy_forms':

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
'ropogós_formák',
]

Hozzon létre egy űrlapot

Szinkronizálnia kell a regisztrációs űrlapot a Django beépített felhasználó-létrehozási űrlapjával, hogy segítse a hitelesítést.

A beépített Django felhasználói hitelesítés rendszer kezeli az általános követelményeket, például a jelszavak érvényesítését és az engedélyek kiadását.

A rendszer az űrlap érvényesítését is kezeli Ön helyett. Így űrlapokat hozhat létre anélkül, hogy saját maga kezelné az érvényesítést. Ha más keretrendszerben is elvégezte az űrlap érvényesítését, akkor tudni fogja, milyen nehézkes lehet. Nem Djangoval.

A hitelesítési modul rendelkezik a Felhasználó modell vagy tárgy. A Felhasználó Az objektum a felhasználói hitelesítési rendszer fő összetevője. Kezeli az engedélyeket, a regisztrált felhasználók profiljának hitelesítését, a hozzáférés-szabályozást és még sok mást.

A UserCreationForm a beépítettet használja Felhasználó objektumot új felhasználók regisztrálására. A ModelForm osztályból örökli.

Először is importáljon űrlapokat a Django űrlapmodulból. Ezután importálja a UserCreationForm tól től django.contrib.auth.forms. Ezenkívül importálja a beépítettet Felhasználó modelltől django.contrib.auth.models. Ezután importálja a mező bemeneteit a django ModelFormból.

tól től django import formák
tól tőldjango.hozzájárulás.auth.formákimportUserCreationForm
tól tőldjango.hozzájárulás.auth.modellekimportFelhasználó
tól től django.formák import ModelForm, TextInput, EmailInput, ImageField, Textarea

Ezután hozzon létre egy regisztrációs objektumot RegisterUserForm. Elviszi a UserCreationForm érvként. Add hozzá a Felhasználó objektummezők, például e-mail hitelesítés, felhasználónév és két jelszó.

osztályRegisterUserForm(UserCreationForm):
email = űrlapok. EmailField (max_length=254, help_text='Kívánt. Adjon meg egy érvényes email címet.')
osztályMeta:
modell = Felhasználó
mezők = ('felhasználónév', 'email', 'jelszó1', 'jelszó2')

Ezek a mezők a felhasználó elsődleges attribútumai a regisztrációs űrlapon. Ezek kötelező bemenetek, amelyeket a felhasználóknak ki kell tölteniük ahhoz, hogy a rendszer hitelesítse őket.

Hozzon létre egy Nézet funkciót

Ezután létrehoz egy nézet funkciót a regisztrációs űrlaphoz. Először is importálja a render függvényt, valamint a RegisterUserForm formákból.py. Ezután importálja a Felhasználó modelltől django.contrib.auth.models.

A register nevű nézet függvény veszi a RegisterUserForm. Megjeleníti a register.html sablon.

tól től django.parancsikonok import Vakol,
tól től django.http import HttpResponse, Http404
tól től .formák import RegisterUserForm
tól tőldjango.hozzájárulás.auth.modellekimportFelhasználó
defRegisztráció(kérés):
form=RegisterUserForm
kontextus={'forma':forma}
render visszaküldése (kérés,'register.html',kontextus)

URL elérési út létrehozása

Hozzon létre egy URL elérési utat a register.html sablon. Ez az URL az imént létrehozott nézetfüggvény elérési útja. Adja meg a nevet Regisztráció, így a névvel hívhatja a sablonon.

tól től django.urls import pálya
tól től. import nézetek
urlpatterns=[
pálya ('Regisztráció', views.register, name='Regisztráció'),
]

Töltsön be egy sablont

Most, hogy megvan a nézet és az URL elérési útja, létrehozhatja a register.html sablon az alkalmazás mappájában. A django-crispy-formákat fogja használni a megjelenítéséhez RegisterUserForm.

Ban,-ben register.html sablon, bővítse ki a base.html. A base.html tartalmazza a Bootstrap linkek használja a regisztrációs űrlap stílusához. Ezután töltse be a django-crispy-forms-ot a register.html fájllal a sabloncímkék segítségével.

{% kiterjeszti 'base.html' %}
{% load crispy_forms_tags %}
{% blokktartalom %}
<div class="tartály" stílus="">
<div class="sor">
<div class="col-md-2"></div>
<div class="col-md-8">
<div class="kártya" stílus="fekete szín;">
<div class="kártya-test">
<h5 osztály="kártya-cím"><a>Regisztráljon tagnak</a><span style="úszó: jobb">Ön tag? <a href="#" osztály="szöveg-elsődleges">Jelentkezzen be most</a></span></h5>
<div class="kártya-szöveg">
<form action="" módszer="POST" novalidálni>
{% csrf_token %}
{{ forma|ropogós}}
<gombtípus="Beküldés" osztály="btn btn-elsődleges btn-sm"> Regisztráció</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

Az űrlap tartalmazza a csrf_token, amely megvédi a regisztrációs folyamatot a hackerektől. Az űrlapot ugyanazzal a változónévvel jelenítse meg, mint a nézet függvényben. Ezután adja hozzá a |ropogós szűrő a Django {{forma}} változó. Ez a formát ropogós formává teszi.

Futtassa a szervert. Ezután ellenőrizze az alkalmazást egy böngészőben a címen http://127.0.0.1:8000/register. Az alábbi képen látható űrlapot kell látnia:

Ropogós űrlapokkal kitöltött egy regisztrációs űrlapot! Figyelje meg, hogy a Django automatikusan hozzáadta az érvényesítést az űrlaphoz. Ide tartoznak például a felhasználónév- és jelszóengedélyek.

A teljes regisztrációs rendszerhez adjon hozzá hitelesítési logikát a nézet funkcióhoz. A regisztrált felhasználók bejelentkezéséhez bejelentkezési oldalt is hozzáadhat. A felhasználóknak meg kell felelniük a hitelesítési követelményeknek ahhoz, hogy bejelentkezzenek az alkalmazásba.

A django-crispy-forms könyvtár lehetővé teszi az érvényesített űrlapok gyors és egyszerű megjelenítését. Az adatok ellenőrzése biztosítja, hogy pontos adatokkal rendelkezzen a felhasználóktól.

Az adatok jól jönnek a felhasználókkal való kommunikáció során és a teljesítménymutatók elemzésekor.

Miért használjunk django-ropogós formákat?

A crispy forms könyvtár használata az űrlapok Django programban történő megjelenítésére remek példa a DRY elv alkalmazására. A django-crispy-forms újrafelhasználható összetevőket hoz létre, amelyeket sablonokban jeleníthet meg.

Beépített HTML kóddal rendelkeznek. A kód megkíméli Önt az űrlapok strukturálásával és érvényesítésével kapcsolatos fáradságoktól. A ropogós űrlapok címkét és szűrőt biztosítanak, amely div formátumban jeleníti meg az űrlapokat. Lehetőséget biztosítanak a renderelt HTML konfigurálására és vezérlésére is.

A django-crispy-forms jól működik a Django hitelesítési rendszerrel. Létrehozhat egy hitelesítési rendszert a felhasználók ellenőrzéséhez anélkül, hogy sok kódot írna.