1. Model Form
Buat file forms.py.
from django.forms import ModelForm
from apps.apps01.models import Siswa
class FormSiswa(ModelForm):
class Meta:
model = Siswa
fields = '__all__'
Buat views untuk tambah siswa.
from apps.apps01.forms import FormSiswa
def tambah_siswa(request):
form = FormSiswa
context = {
'form': form,
}
return render(request, 'tambah-siswa.html', context)
Buat file tambah-siswa.html.
{% extends "base.html" %}
{% block content %}
<form action="" method="POST" accept-charset="utf-8">
{{ form.as_p }}
<button>Tambah</button>
</form>
{% endblock content %}
Buat url untuk tambah_siswa.
urlpatterns = [
...
...
path('siswa-tambah/', tambah_siswa, name='tambah_siswa'),
]
2. Menentukan Form yang Ditampilkan
Edit file forms.py.
from django.forms import ModelForm
from apps.apps01.models import Siswa
class FormSiswa(ModelForm):
class Meta:
model = Siswa
fields = [‘nomor’,’nama_lengkap’]
3. Exclude Form yang Ditampilkan
Edit file forms.py.
from django.forms import ModelForm
from apps.apps01.models import Siswa
class FormSiswa(ModelForm):
class Meta:
model = Siswa
exclude = [‘nomor’]
4. Widgets
Edit file forms.py.
from django import forms
class FormSiswa(ModelForm):
class Meta:
model = Siswa
fields = '__all__'
widgets = {
'nomor': forms.NumberInput({'class':'form-control'}),
'nama_depan': forms.TextInput({'class':'form-control'}
'nama_belakang': forms.TextInput({'class':'form-control'}),
'tgl_lahir': forms.DateInput({'class':'form-control','type':'date'}),
'alamat': forms.TextInput({'class':'form-control'}),
'jurusan': forms.Select({'class':'form-control'}),
}
Buat file tambah-siswa.html.
{% extends "base.html" %}
{% block content %}
<div class="container">
<div class="row">
<form action="" method="POST" accept-charset="utf-8"> {{ form.as_p }}
<button>Tambah</button>
</form>
</div>
</div>
{% endblock content %}
Lanjutkan Membaca Materi Lengkap