Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Menggayakan Borang Django dengan CSS Menggunakan Atribut Widget dan ModelForms?
Menggayakan Borang dengan CSS dalam Django
Apabila bekerja dengan borang Django, selalunya perlu untuk meningkatkan penampilannya melalui penggayaan. Artikel ini menyediakan panduan komprehensif tentang cara menambah atribut kelas atau ID pada medan borang dan menggabungkan CSS untuk penggayaan borang tersuai.
Untuk contoh kod yang disediakan dalam forms.py dan contact_form.html, mari pertimbangkan cara untuk menetapkan Atribut serasi CSS kepada subjek, e-mel dan medan mesej.
Menggunakan Widget Atribut
Django membenarkan kami menetapkan atribut widget semasa mencipta medan borang. Contohnya:
class ContactForm(forms.Form): message = forms.CharField(widget=forms.Textarea(attrs={'class': 'my-message-field'}))
Kod ini menambahkan kelas CSS, medan-mesej saya, pada widget kawasan teks yang dikaitkan dengan medan mesej. Anda kemudiannya boleh menggunakan kelas ini dalam lembaran gaya CSS anda untuk menyesuaikan penampilannya.
Menggunakan Widget ModelForm
Jika anda menggunakan ModelForm, anda boleh mengakses atribut widget untuk medan individu dalam kelas dalam Meta.
class MyModelForm(forms.ModelForm): class Meta: model = MyModel widgets = { 'subject': forms.TextInput(attrs={'id': 'subject-field'}), 'email': forms.EmailInput(attrs={'class': 'email-input-field'}), }
Dalam contoh ini, medan subjek mendapat atribut ID, medan-subjek, manakala medan e-mel menerima atribut kelas, medan-masukan-e-mel.
Pemberian Tersuai Lengkap
Jika anda memerlukan kawalan penuh ke atas pemaparan borang, Django menyediakan cara untuk mengatasi kaedah as_table lalai. Walau bagaimanapun, pendekatan ini biasanya digunakan untuk senario penyesuaian lanjutan.
Kesimpulan
Dengan menggunakan teknik ini, anda boleh meningkatkan penggayaan borang Django anda dengan mudah. Sama ada anda lebih suka memanfaatkan atribut widget atau menyatakannya secara eksplisit dalam ModelForm, anda kini mempunyai pengetahuan untuk mencipta bentuk yang menarik secara visual dan berfungsi yang disepadukan dengan lancar dengan reka bentuk tapak web anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggayakan Borang Django dengan CSS Menggunakan Atribut Widget dan ModelForms?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!