March 23, 2023


Cara terbaik untuk menguasai Django adalah menggunakannya untuk mengembangkan aplikasi full-stack. Anda akan menemukan banyak fitur menarik saat bekerja dengan framework. Salah satunya adalah cara merender formulir di template menggunakan formulir yang renyah.


Menggunakan django-crispy-forms adalah salah satu dari banyak cara anda dapat merender formulir di Django. Ketergantungan memungkinkan Anda membuat formulir dalam templat tanpa menulis kode HTML. Anda dapat dengan mudah membuat tata letak yang dapat digunakan kembali tanpa perlu repot menulis kode formulir.

Anda dapat mempelajari lebih lanjut dengan menginstal pustaka, lalu mengonfigurasinya, dan menggunakannya untuk membuat formulir pendaftaran.

GUNAKAN VIDEO HARI INI

Bagaimana django-crispy-forms Bekerja

Itu perpustakaan django-crispy-forms hadir dengan kode HTML bawaan yang dapat Anda sesuaikan sesuai kebutuhan. Ini termasuk filter bernama | renyah yang merender formulir berbasis div di template.

Itu {% renyah %} tag akan membuat formulir sesuai dengan pengaturan tertentu. django-crispy-forms bekerja dengan baik dengan dependensi cetakan lainnya seperti Bootstrap dan Tailwind CSS.

Mari kita lihat cara kerjanya di template.

Instal Formulir Renyah

Mulai oleh membuat proyek Django dan aplikasi. Kemudian instal versi terbaru django-crispy-forms menggunakan Pipenv dengan perintah berikut:


pipenv install django-crispy-forms

Instalasi yang berhasil akan terlihat seperti gambar di bawah ini:

pemasangan django-crispy-form berhasil

Konfigurasi django-crispy-forms di Pengaturan

Setelah penginstalan, Anda harus mendaftarkan formulir renyah sebagai ketergantungan dalam pengaturan proyek. Dengan mendaftarkannya, pustaka formulir yang renyah akan tersedia untuk semua aplikasi dalam proyek.

Dalam proyek pengaturan.py file, tambahkan string ‘crispy_forms’:


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

Buat Formulir

Anda perlu menyinkronkan formulir pendaftaran Anda dengan formulir pembuatan pengguna Django bawaan untuk membantu pengesahan.

Built-in Otentikasi pengguna Django sistem menangani persyaratan umum seperti memvalidasi kata sandi dan mengeluarkan izin.

Sistem juga menangani validasi formulir untuk Anda. Jadi, Anda dapat membuat formulir tanpa repot menangani validasi sendiri. Jika Anda telah melakukan validasi formulir di kerangka kerja lain, Anda akan tahu betapa rumitnya hal itu. Tidak dengan Django.

Modul autentikasi memiliki a Pengguna model atau objek. Itu Pengguna objek adalah komponen utama dari sistem otentikasi pengguna. Ini menangani izin, mengautentikasi profil pengguna terdaftar, kontrol akses, dan banyak lagi.

Itu UserCreationForm menggunakan bawaan Pengguna keberatan untuk mendaftarkan pengguna baru. Itu mewarisi dari kelas ModelForm.

Pertama, impor formulir dari modul formulir Django. Kemudian, impor UserCreationForm dari django.contrib.auth.forms. Juga, impor bawaan Pengguna model dari django.contrib.auth.models. Kemudian impor input bidang dari Django ModelForm.


from django import forms\nfrom django.contrib.auth.forms import UserCreationForm\nfrom django.contrib.auth.models import User\nfrom django.forms import ModelForm, TextInput, EmailInput,ImageField, Textarea

Selanjutnya, buat objek registrasi bernama DaftarUserForm. Dibutuhkan UserCreationForm sebagai argumen. Tambahkan Pengguna bidang objek seperti otentikasi email, nama pengguna, dan dua kata sandi.


class RegisterUserForm(UserCreationForm):\n email = forms.EmailField(max_length=254, help_text='Required. Enter a valid email address.')\n class Meta:\n model = User\n fields = ('username', 'email', 'password1', 'password2')

Bidang ini adalah atribut utama pengguna pada formulir pendaftaran. Itu adalah input wajib yang harus diisi pengguna agar sistem mengautentikasinya.

Buat Fungsi Tampilan

Selanjutnya, Anda akan membuat fungsi tampilan untuk formulir pendaftaran. Pertama, impor fungsi render serta DaftarUserForm dari forms.py. Kemudian impor Pengguna model dari django.contrib.auth.models.

Fungsi tampilan bernama register mengambil DaftarUserForm. Ini akan membuatnya di register.html templat.


from django.shortcuts import render,\nfrom django.http import HttpResponse,Http404\nfrom .forms import RegisterUserForm\nfrom django.contrib.auth.models import User\ndef register(request):\n form=RegisterUserForm\n context={'form':form}\n return render(request,'register.html',context)\n

Buat Jalur URL

Buat jalur URL Untuk register.html templat. URL ini adalah jalur untuk fungsi tampilan yang baru saja Anda buat. Beri nama daftarsehingga Anda dapat menggunakan nama tersebut untuk memanggilnya di template.


from django.urls import path\nfrom . import views\nurlpatterns=[\n path ('register', views.register, name='register'),\n]\n

Muat di Templat

Sekarang setelah Anda memiliki tampilan dan jalur URL, Anda dapat membuatnya register.html templat di folder aplikasi. Anda akan menggunakan django-crispy-forms untuk membuat DaftarUserForm.

Dalam register.html templat, perpanjang basis.html. Itu basis.html berisi Tautan bootstrap Anda akan gunakan untuk menata formulir pendaftaran. Kemudian muat django-crispy-forms dengan register.html menggunakan tag cetakan.


{% extends 'base.html' %}\n{% load crispy_forms_tags %}\n{% block content %}\n<div class="container" style="">\n <div class="row">\n <div class="col-md-2"></div>\n <div class="col-md-8">\n <div class="card" style="color:black;">\n <div class="card-body">\n <h5 class="card-title"><a>Register to be a member</a> <span style="float:right">Are you a member? <a href="#" class="text-primary">Login now</a></span></h5>\n <div class="card-text">\n <form action="" method="POST" novalidate>\n {% csrf_token %}\n {{ form|crispy}}\n <button type="submit" class="btn btn-primary btn-sm"> Register</button>\n </form>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n{% endblock %}

Bentuknya meliputi csrf_token, yang melindungi proses pendaftaran dari peretas. Render form dengan nama variabel yang sama seperti pada fungsi view. Kemudian tambahkan |renyah filter ke Django {{membentuk}} variabel. Ini akan membuat bentuk menjadi bentuk yang renyah.

Jalankan server. Kemudian, periksa aplikasi di browser di http://127.0.0.1:8000/register. Anda akan melihat formulir yang ditampilkan seperti yang diilustrasikan di bawah ini:

formulir pendaftaran ditampilkan di browser

Anda telah merender formulir pendaftaran menggunakan formulir renyah! Perhatikan bahwa Django secara otomatis menambahkan validasi ke formulir. Ini termasuk persyaratan seperti izin nama pengguna dan kata sandi.

Untuk memiliki sistem pendaftaran yang lengkap, tambahkan logika autentikasi ke fungsi tampilan. Anda juga dapat menambahkan halaman login untuk masuk pengguna terdaftar. Pengguna harus memenuhi persyaratan autentikasi untuk masuk ke aplikasi.

Pustaka django-crispy-forms memungkinkan Anda dengan cepat dan mudah merender formulir tervalidasi. Memvalidasi data memastikan Anda memiliki data yang akurat dari pengguna Anda.

Data berguna saat berkomunikasi dengan pengguna dan menganalisis metrik kinerja.

Mengapa Menggunakan django-crispy-forms?

Menggunakan perpustakaan formulir renyah untuk merender formulir di Django adalah contoh yang bagus tentang bagaimana menerapkan prinsip KERING. django-crispy-forms menciptakan komponen yang dapat digunakan kembali yang dapat anda render dalam cetakan.

Mereka datang dengan kode HTML bawaan. Kode ini akan menghemat kerumitan penataan dan validasi formulir. Formulir renyah menyediakan tag dan filter yang merender formulir dalam format div. Mereka juga menyediakan kemampuan untuk mengonfigurasi dan mengontrol HTML yang dirender.

django-crispy-forms bekerja dengan baik dengan sistem otentikasi Django. Anda dapat membuat sistem otentikasi untuk memverifikasi pengguna Anda tanpa menulis banyak kode.

Leave a Reply

Your email address will not be published. Required fields are marked *