Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

Geriausias būdas įvaldyti Django yra naudoti jį kuriant visas programas. Dirbdami su sistema susidursite su daugybe patrauklių savybių. Vienas iš jų – kaip atvaizduoti formas šablonuose naudojant traškias formas.

„Django-crispy-forms“ naudojimas yra vienas iš daugelio būdų, kaip galite pateikti formas „Django“. Priklausomybė leidžia kurti formas šablonuose neįrašant HTML kodo. Galite lengvai sukurti daugkartinio naudojimo maketus be vargo rašydami formos kodą.

Daugiau sužinoti galite įdiegę biblioteką, ją sukonfigūravę ir naudodami ją registracijos formai sukurti.

Kaip veikia django traškios formos

The django-traškių formų biblioteka yra su integruotu HTML kodu, kurį galite tinkinti pagal savo poreikius. Jame yra filtras pavadinimu |traškūs kuri šablone pateikia div pagrindu sukurtas formas.

The {% traškus %} „tags“ pateiks formas pagal konkrečią setup.django-crispy-forms gerai veikia su kitomis šablonų priklausomybėmis, tokiomis kaip „Bootstrap“ ir „Tailwind CSS“.

instagram viewer

Pažiūrėkime, kaip tai veikia šablone.

Įdiekite „Crispy Forms“.

Pradėkite nuo sukurti Django projektą ir programėlė. Tada įdiekite naujausią django-crispy-forms versiją naudodami Pipenv su šia komanda:

pipenv diegti django-traškios formos

Sėkmingas diegimas atrodys taip, kaip paveikslėlyje žemiau:

Nustatymuose sukonfigūruokite django-crispy-forms

Įdiegę traškias formas turite užregistruoti kaip priklausomybę projekto nustatymuose. Ją užregistravus, traškių formų biblioteka bus prieinama visoms projekto programėlėms.

Projekte settings.py failą, pridėkite eilutę 'traškios_formos':

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

Sukurkite formą

Turite sinchronizuoti savo registracijos formą su integruota „Django“ vartotojo kūrimo forma, kad būtų lengviau autentifikuoti.

Įmontuotas Django vartotojo autentifikavimas sistema tvarko bendrus reikalavimus, tokius kaip slaptažodžių patvirtinimas ir leidimų išdavimas.

Sistema taip pat tvarko formos patvirtinimą už jus. Taigi galite kurti formas be vargo tvarkydami patvirtinimą. Jei atlikote formos patvirtinimą kitose sistemose, žinosite, kaip tai gali būti sudėtinga. Ne su Django.

Autentifikavimo modulis turi a Vartotojas modelis ar objektas. The Vartotojas objektas yra pagrindinis vartotojo autentifikavimo sistemos komponentas. Ji tvarko leidimus, registruotų vartotojų profilių autentifikavimą, prieigos kontrolę ir dar daugiau.

The UserCreationForm naudoja įmontuotą Vartotojas nesutinka registruoti naujus vartotojus. Jis paveldimas iš ModelForm klasės.

Pirma, importuokite formas iš Django formos modulio. Tada importuokite UserCreationForm django.contrib.auth.forms. Taip pat importuokite įmontuotą Vartotojas modelis iš django.contrib.auth.models. Tada importuokite lauko įvestis iš django ModelForm.

 django importuoti formų
django.indėlis.auth.formosimportuotiUserCreationForm
django.indėlis.auth.modeliaiimportuotiVartotojas
django.formos importuoti ModelForm, TextInput, EmailInput, ImageField, Textarea

Tada sukurkite registracijos objektą pavadinimu RegistruotisVartotojo forma. Tam reikia UserCreationForm kaip argumentas. Pridėkite Vartotojas objektų laukus, tokius kaip el. pašto autentifikavimas, vartotojo vardas ir du slaptažodžiai.

klasėRegistruotisVartotojo forma(Vartotojo kūrimo forma):
paštas = formos. El. pašto laukas (max_length=254, help_text='Privaloma. Įveskite galiojantį el. pašto adresą.')
klasėMeta:
modelis = Vartotojas
laukai = ('Vartotojo vardas', 'paštu', 'slaptažodis1', 'slaptažodis2')

Šie laukai yra pagrindiniai vartotojo atributai registracijos formoje. Tai privaloma įvestis, kurią vartotojai turi užpildyti, kad sistema galėtų juos autentifikuoti.

Sukurkite peržiūros funkciją

Tada sukursite registracijos formos peržiūros funkciją. Pirmiausia importuokite atvaizdavimo funkciją ir RegistruotisVartotojo forma iš formų.py. Tada importuokite Vartotojas modelis iš django.contrib.auth.models.

Peržiūros funkcija, pavadinta registras, užima RegistruotisVartotojo forma. Jis pateiks jį ant register.html šabloną.

 django.shortcuts importuoti perteikti,
django.http importuoti HttpResponse, Http404
.formos importuoti RegistruotisVartotojo forma
django.indėlis.auth.modeliaiimportuotiVartotojas
defRegistruotis(užklausa):
form=RegisterUserForm
kontekstas={'forma':form}
grąžinti vaizdą (užklausą,'register.html',kontekstas)

Sukurti URL kelią

Sukurkite URL keliąregister.html šabloną. Šis URL yra ką tik sukurtos peržiūros funkcijos kelias. Duok vardą Registruotis, todėl galite naudoti pavadinimą, kad jį vadintumėte šablone.

 django.urls importuoti kelias
. importuoti Peržiūros
urlpatterns=[
kelias ('Registruotis', views.register, name='Registruotis'),
]

Įkelti šabloną

Dabar, kai turite rodinį ir URL kelią, galite sukurti register.html šabloną programos aplanke. Norėdami pateikti, naudosite django-crispy-formas RegistruotisVartotojo forma.

Viduje register.html šabloną, pratęskite base.html. The base.html yra Bootstrap nuorodos naudosite formuodami registracijos formą. Tada įkelkite django-crispy-forms su register.html naudodami šablono žymas.

{% tęsiasi 'base.html' %}
{% load crispy_forms_tags %}
{% blokuoti turinį %}
<div klasė ="konteineris" stilius ="">
<div klasė ="eilė">
<div klasė ="col-md-2"></div>
<div klasė ="col-md-8">
<div klasė ="kortelę" stilius ="spalva: juoda;">
<div klasė ="kortelės korpusas">
<h5 klasė ="kortelės pavadinimas"><a>Užsiregistruok tapti nariu</a><span style="plūdė: dešinė">Ar esate narys? <a href="#" klasė ="tekstas-pirminis">Prisijunk dabar</a></span></h5>
<div klasė ="kortelės tekstas">
<forma veiksmas="" metodas ="PAST" patvirtinti>
{% csrf_token %}
{{ forma|traški}}
<mygtuko tipas="Pateikti" klasė ="btn btn-pirminis btn-sm"> Registruotis</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

Formoje yra csrf_token, kuri apsaugo registracijos procesą nuo įsilaužėlių. Pateikite formą tuo pačiu kintamojo pavadinimu kaip ir rodinio funkcijoje. Tada pridėkite |traškus filtras į Django {{forma}} kintamasis. Taip forma bus traški.

Paleiskite serverį. Tada patikrinkite programą naršyklėje adresu http://127.0.0.1:8000/register. Turėtumėte matyti formą, rodomą taip, kaip parodyta toliau:

Jūs užpildėte registracijos formą naudodami traškias formas! Atkreipkite dėmesį, kad Django automatiškai pridėjo patvirtinimą prie formos. Tai apima tokius reikalavimus kaip vartotojo vardo ir slaptažodžio leidimai.

Norėdami turėti visą registracijos sistemą, pridėkite autentifikavimo logiką prie peržiūros funkcijos. Taip pat galite pridėti prisijungimo puslapį, kad galėtumėte prisijungti prie registruotų vartotojų. Norėdami prisijungti prie programos, vartotojai turi atitikti autentifikavimo reikalavimus.

Django-crispy-forms biblioteka leidžia greitai ir lengvai pateikti patvirtintas formas. Duomenų patvirtinimas užtikrina, kad iš naudotojų gausite tikslius duomenis.

Duomenys praverčia bendraujant su vartotojais ir analizuojant našumo rodiklius.

Kodėl verta naudoti django traškias formas?

Traškių formų bibliotekos naudojimas formoms pateikti Django yra puikus pavyzdys, kaip taikyti DRY principą. django-crispy-forms sukuria daugkartinio naudojimo komponentus, kuriuos galite pateikti šablonuose.

Jie yra su integruotu HTML kodu. Kodas sutaupys jums formų struktūrizavimo ir patvirtinimo rūpesčių. Traškios formos suteikia žymą ir filtrą, kuris pateikia formas div formatu. Jie taip pat suteikia galimybę konfigūruoti ir valdyti pateiktą HTML.

django-crispy-forms puikiai veikia su Django autentifikavimo sistema. Galite sukurti autentifikavimo sistemą, kad patikrintumėte savo vartotojus neįrašydami daug kodo.