Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi gerçekleştirdiğinizde, bir ortaklık komisyonu kazanabiliriz. Devamını oku.

Django'da ustalaşmanın en iyi yolu, onu tam yığın uygulamalar geliştirmek için kullanmaktır. Çerçeve ile çalışırken birçok büyüleyici özellikle karşılaşacaksınız. Bunlardan biri, çıtır formlar kullanılarak şablonlardaki formların nasıl oluşturulacağıdır.

Django-crispy-forms kullanmak, Django'da formları işlemenin birçok yolundan biridir. Bağımlılık, HTML kodu yazmadan şablonlarda formlar oluşturmanıza olanak tanır. Form kodu yazma zahmetine girmeden kolayca yeniden kullanılabilir mizanpajlar oluşturabilirsiniz.

Kitaplığı yükleyerek, ardından yapılandırarak ve bir kayıt formu oluşturmak için kullanarak daha fazla bilgi edinebilirsiniz.

Django-crispy-forms Nasıl Çalışır?

bu django-crispy-forms kitaplığı ihtiyaçlarınıza göre özelleştirebileceğiniz yerleşik HTML koduyla birlikte gelir. adlı bir filtre içerir. |çıtır bu, şablonda div tabanlı formlar oluşturur.

instagram viewer

bu {% çıtır %} etiketler, formları belirli bir kuruluma göre işleyecektir. Django-crispy-forms, Bootstrap ve Tailwind CSS gibi diğer şablon bağımlılıklarıyla iyi çalışır.

Bunun bir şablonda nasıl çalıştığını görelim.

Çıtır Formları Kurun

La başlamak Django projesi oluşturma ve uygulama Ardından, aşağıdaki komutla Pipenv kullanarak django-crispy-forms'un en son sürümünü yükleyin:

pipenv düzenlemek django-gevrek-formlar

Başarılı bir kurulum aşağıdaki resimdeki gibi görünecektir:

Django-crispy-forms'u Ayarlar'da yapılandırın

Kurulumdan sonra, gevrek formları proje ayarlarında bir bağımlılık olarak kaydetmeniz gerekir. Kaydolduğunuzda, gevrek formlar kitaplığı projedeki tüm uygulamalar tarafından kullanılabilir olacaktır.

Projede ayarlar.py dosya, dizeyi ekleyin "gevrek_formlar":

INSTALED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'uygulamam',
'gevrek_formlar',
]

Form Oluştur

Kimlik doğrulamaya yardımcı olması için kayıt formunuzu yerleşik Django kullanıcı oluşturma formuyla senkronize etmeniz gerekir.

yerleşik Django kullanıcı kimlik doğrulaması sistem, parolaların doğrulanması ve izinlerin verilmesi gibi genel gereksinimleri karşılar.

Sistem aynı zamanda sizin için form doğrulamasını da gerçekleştirir. Böylece, doğrulamayı kendi başınıza halletme zahmetine girmeden formlar oluşturabilirsiniz. Diğer çerçevelerde form doğrulaması yaptıysanız, bunun ne kadar hantal olabileceğini bilirsiniz. Django ile değil.

Kimlik doğrulama modülünde bir kullanıcı model veya nesne. bu kullanıcı nesne, kullanıcı kimlik doğrulama sisteminin ana bileşenidir. İzinleri, kayıtlı kullanıcıların profillerini doğrulamayı, erişim kontrolünü ve çok daha fazlasını yönetir.

bu Kullanıcı Oluşturma Formu yerleşik kullanır kullanıcı yeni kullanıcıları kaydetmek için nesne. ModelForm sınıfından miras alır.

İlk olarak, Django form modülünden formları içe aktarın. Ardından, içe aktarın Kullanıcı Oluşturma Formu itibaren django.contrib.auth.forms. Ayrıca yerleşik olanı içe aktarın kullanıcı modeli django.contrib.auth.models. Ardından alan girişlerini Django ModelForm'dan içe aktarın.

itibaren django içe aktarmak formlar
itibarendjango.katkı.auth.formlariçe aktarmakKullanıcı Oluşturma Formu
itibarendjango.katkı.auth.modelleriçe aktarmakkullanıcı
itibaren django.forms içe aktarmak ModelForm, TextInput, EmailInput, ImageField, Textarea

Ardından, adlı bir kayıt nesnesi oluşturun. KayıtKullanıcıFormu. alır Kullanıcı Oluşturma Formu bir argüman olarak. Ekle kullanıcı e-posta kimlik doğrulaması, kullanıcı adı ve iki parola gibi nesne alanları.

sınıfKayıtKullanıcıFormu(Kullanıcı OluşturmaFormu):
e-posta = formlar. EmailField (maks_uzunluk=254, help_text='Gerekli. Geçerli bir e-posta adresi girin.')
sınıfMeta:
model = Kullanıcı
alanlar = ('Kullanıcı adı', 'e-posta', 'şifre1', 'şifre2')

Bu alanlar, bir kullanıcının kayıt formundaki birincil nitelikleridir. Bunlar, sistemin kimliklerini doğrulaması için kullanıcıların doldurması gereken zorunlu girdilerdir.

Bir Görünüm İşlevi Oluşturun

Ardından, kayıt formu için bir görüntüleme işlevi oluşturacaksınız. İlk olarak, oluşturma işlevinin yanı sıra KayıtKullanıcıFormu formlar.py'den. Ardından içe aktarın kullanıcı modeli django.contrib.auth.models.

register adlı görüntüleme işlevi, KayıtKullanıcıFormu. üzerinde işleyecek kayıt.html şablon.

itibaren django.kısayollar içe aktarmak render,
itibaren django.http içe aktarmak Http Yanıtı, Http404
itibaren .formlar içe aktarmak KayıtKullanıcıFormu
itibarendjango.katkı.auth.modelleriçe aktarmakkullanıcı
kesinkayıt olmak(rica etmek):
form=RegisterUserForm
bağlam={'biçim':biçim}
dönüş oluşturma (istek,'kayıt.html',bağlam)

URL Yolu Oluştur

Bir URL yolu oluşturun için kayıt.html şablon. Bu URL, az önce oluşturduğunuz görüntüleme işlevinin yoludur. adını ver kayıt olmak, böylece adı bir şablonda çağırmak için kullanabilirsiniz.

itibaren django.urls içe aktarmak yol
itibaren. içe aktarmak Görüntüleme
urlpatterns=[
yol ('kayıt olmak', görünümler.kayıt, ad='kayıt olmak'),
]

Bir Şablona Yükle

Artık görünüm ve URL yoluna sahip olduğunuza göre, kayıt.html uygulama klasöründeki şablon. oluşturmak için django-crispy-forms kullanacaksınız. RegisterUserForm.

İçinde kayıt.html şablonu genişletin base.html. bu base.html içerir Önyükleme bağlantıları kayıt formuna stil vermek için kullanacaksınız. Ardından, şablon etiketlerini kullanarak django-crispy-forms'u register.html ile yükleyin.

{% uzanır 'base.html' %}
{% gevrek_forms_tags %} yükle
{% blok içeriği %}
<div sınıfı="konteyner" stil="">
<div sınıfı="sıra">
<div sınıfı="col-md-2"></div>
<div sınıfı="col-md-8">
<div sınıfı="kart" stil="siyah renk;">
<div sınıfı="kart gövdesi">
<h5 sınıfı="kart başlığı"><A>üye olmak için kayıt ol</A><açıklık stili="Sağa çık">Üye misiniz? <bir href="#" sınıf="metin-birincil">Şimdi giriş yap</A></span></h5>
<div sınıfı="kart metni">
<eylem formu="" yöntem="POSTALAMAK" geçersiz kılma>
{% csrf_token %}
{{ form|gevrek}}
<düğme tipi="göndermek" sınıf="btn btn-birincil btn-sm"> Kayıt olmak</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% son blok %}

Form şunları içerir: csrf_token, kayıt sürecini bilgisayar korsanlarından koruyan. Formu, görünüm işlevindekiyle aynı değişken adıyla işleyin. Ardından |gevrek Django {{biçim}} değişken. Bu, formu gevrek bir form haline getirecektir.

Sunucuyu çalıştırın. Ardından, uygulamayı şu adreste bir tarayıcıda kontrol edin: http://127.0.0.1:8000/register. Aşağıda gösterildiği gibi görüntülenen formu görmelisiniz:

Çıtır formları kullanarak bir kayıt formu oluşturdunuz! Django'nun doğrulamayı forma otomatik olarak eklediğine dikkat edin. Bunlar, kullanıcı adı ve parola izinleri gibi gereksinimleri içerir.

Eksiksiz bir kayıt sistemine sahip olmak için görüntüleme işlevine kimlik doğrulama mantığı ekleyin. Kayıtlı kullanıcılarda oturum açmak için bir oturum açma sayfası da ekleyebilirsiniz. Kullanıcıların uygulamada oturum açmak için kimlik doğrulama gereksinimlerini karşılaması gerekir.

Django-crispy-forms kitaplığı, doğrulanmış formları hızlı ve kolay bir şekilde işlemenizi sağlar. Verilerin doğrulanması, kullanıcılarınızdan doğru verilere sahip olmanızı sağlar.

Veriler, kullanıcılarla iletişim kurarken ve performans ölçümlerini analiz ederken kullanışlı olur.

Neden django-crispy-forms kullanıyorsunuz?

Django'da formları işlemek için gevrek formlar kitaplığını kullanmak, DRY ilkesinin nasıl uygulanacağına dair harika bir örnektir. django-crispy-forms, şablonlarda işleyebileceğiniz yeniden kullanılabilir bileşenler oluşturur.

Yerleşik HTML koduyla gelirler. Kod, sizi formları yapılandırma ve doğrulama zahmetinden kurtaracaktır. Gevrek formlar, formları div biçiminde işleyen bir etiket ve filtre sağlar. Ayrıca, işlenmiş HTML'yi yapılandırma ve kontrol etme yeteneği sağlarlar.

django-crispy-forms, Django kimlik doğrulama sistemiyle iyi çalışır. Çok fazla kod yazmadan kullanıcılarınızı doğrulamak için bir kimlik doğrulama sistemi oluşturabilirsiniz.