Prasyarat:
Sebelum mempraktikkan skrip tutorial ini, Anda harus menyelesaikan tugas-tugas berikut:.
- Instal Django versi 3+ di Ubuntu 20+ (lebih disukai)
- Buat proyek Django
- Jalankan server Django untuk memeriksa server bekerja dengan benar atau tidak.
Siapkan aplikasi Django untuk Serializers:
Jalankan perintah berikut untuk membuat aplikasi Django bernama aplikasi serial.
$ python3 kelola.py startapp serialappJalankan perintah berikut untuk membuat pengguna untuk mengakses database Django. Jika Anda telah membuat pengguna sebelumnya, maka Anda tidak perlu menjalankan perintah.
$ python3 kelola.py buat pengguna superJalankan perintah berikut untuk menginstal Django REST Framework.
$pip3 menginstal djangorestframeworkTambahkan rest_framework dan nama aplikasi di INSTALLED_APP bagian dari pengaturan.py mengajukan.
INSTALLED_APPS = [… .
'rest_framework',
'serialapp'
]
Buat model untuk tabel database:
Buka model.py file dari aplikasi serial folder dan tambahkan skrip berikut untuk menentukan struktur pelanggan meja. Pelanggan kelas didefinisikan untuk membuat tabel bernama pelanggan dengan nama, alamat, email, contact_no, dan dibuat bidang. Sini, nama, email, dan nomor kontak bidang akan menyimpan data karakter, alamat bidang akan menyimpan data teks, dan dibuat bidang akan menyimpan data DateTime.
model.py
# Impor modul modeldari django.model impor db
# Tentukan kelas model untuk tabel pelanggan
Pelanggan kelas (model).Model):
nama = model.CharField(panjang_maks=100)
alamat = model.Bidang Teks()
email = model.CharField(max_length=50)
contact_no = model.CharField(max_length=20)
dibuat = model.DateTimeField(auto_now_add=Benar)
Jalankan kepindahan perintah untuk membuat migrasi baru berdasarkan perubahan yang dibuat oleh model.
$ python3 kelola.py makemigrations serialappJalankan migrasi perintah untuk menjalankan perintah SQL dan membuat semua tabel dalam database yang didefinisikan dalam model.py mengajukan.
$ python3 kelola.py bermigrasiUbah konten admin.py file dengan konten berikut:. Sini, pelanggan kelas model didaftarkan dengan menggunakan pendaftaran() metode untuk menampilkan pelanggan tabel di dasbor administrasi Django.
admin.py
# Impor modul admindari django.kontribusi impor admin
# Impor model Pelanggan
dari .model impor Pelanggan
# Daftarkan model pelanggan
admin.situs.daftar (Pelanggan)
url.py
dari django.jalur impor urldari django.kontribusi impor admin
pola url = [
# Tentukan jalur untuk admin
jalur('admin/', admin.situs.url),
]
Tambahkan catatan ke dalam tabel:
Buka halaman Administrasi Django dan tambahkan beberapa catatan ke dalam pelanggan tabel ditampilkan ke browser dalam format JSON. Di sini, tiga catatan telah dimasukkan.
Ubah tampilan.py:
Buka dilihat.py file dari aplikasi serial dan ganti konten dengan skrip berikut following. Daftar pelanggan class didefinisikan untuk membuat serial semua catatan pelanggan dan mengembalikan data ke browser dalam format JSON. Detail Pelanggan class didefinisikan untuk membuat serial catatan pelanggan tertentu berdasarkan nilai ID dan mengembalikan data browser dalam format JSON. PelangganSerializer adalah file serializer yang telah dibuat di bagian selanjutnya dari tutorial ini this.
dilihat.py
# Impor obat generik dari Django REST Frameworkdari rest_framework mengimpor obat generik
# Impor model Pelanggan
dari .model impor Pelanggan
# Impor CustomerSerializer dari serializers
dari .serializers mengimpor CustomerSerializer
# Tentukan kelas untuk mengonversi semua catatan tabel pelanggan menjadi JSON
kelas CustomerList(generik.ListCreateAPIView):
queryset = Pelanggan.benda-benda.semua()
serializer_class = PelangganSerializer
# Tentukan kelas untuk mengonversi catatan tertentu dari tabel pelanggan menjadi JSON
kelas CustomerDetail (generik.RetrieveUpdateDestroyAPIView):
queryset = Pelanggan.benda-benda.semua()
serializer_class = PelangganSerializer
Buat Serializer:
Membuat pembuat serial.py file di lokasi yang sama dari dilihat.py file dengan skrip berikut:. ModelSerializer kelas digunakan di sini untuk membuat PelangganSerializer kelas yang mengembalikan kelas serializer dengan bidang model Pelanggan. Bidang model Pelanggan yang akan dikonversi ke format JSON disebutkan dalam Meta kelas.
pembuat serial.py
# Impor modul serializers dari Django REST Frameworkdari rest_framework import serializers
# Impor model Pelanggan
dari .model impor Pelanggan
# Tentukan kelas serializer khusus untuk mengonversi bidang model Pelanggan menjadi JSON
kelas CustomerSerializer (serializers.ModelSerializer):
kelas Meta:
model = Pelanggan
field = ('id', 'name', 'address', 'email', 'contact_no')
Ubah urlnya.file .py:
Ubah konten url.py file dengan skrip berikut:. Dalam naskah, 'pelanggan/' path didefinisikan untuk menampilkan semua record dari pelanggan tabel dalam format JSON, dan 'pelanggan/
url.py
# Impor modul admindari django.kontribusi impor admin
# Impor jalur dan sertakan modul
dari django.jalur impor url
# Impor tampilan
dari tampilan impor serialapp
# Impor format_suffix_patterns dari Django REST Framework
dari rest_framework.urlpatterns mengimpor format_suffix_patterns
pola url = [
# Tentukan jalur untuk admin
jalur('admin/', admin.situs.url),
# Tentukan jalur untuk mendapatkan semua data pelanggan dalam format JSON
path('pelanggan/', tampilan.Daftar pelanggan.as_view()),
# Tentukan jalur untuk mendapatkan data pelanggan tertentu berdasarkan ID dalam format JSON
path('pelanggan//', tampilan.Detail Pelanggan.as_view()),
]
urlpatterns = format_suffix_patterns(urlpatterns)
Semua catatan tabel pelanggan akan ditampilkan dalam format JSON jika URL berikut akan dijalankan:.
http://localhost:8000/pelanggan
Catatan pelanggan kedua akan ditampilkan dalam format JSON jika URL berikut dijalankan:.
http://localhost:8000/customers/2
Kesimpulan:
Penggunaan serializer dalam aplikasi Django untuk mengubah contoh model ke dalam format JSON telah ditunjukkan dalam tutorial ini dengan menggunakan skrip sederhana. Pengguna Django akan memahami tujuan menggunakan serializer dan menerapkannya dalam aplikasi mereka jika diperlukan setelah membaca tutorial ini.