Django

Cara menggunakan Django Serializers

Cara menggunakan Django Serializers
Serializer digunakan di Django untuk mengubah contoh model atau set kueri menjadi tipe data yang didukung python yang dapat dengan mudah dirender ke dalam JSON, XML, atau format lainnya. Deserialisasi juga dapat dilakukan oleh serializer untuk mendapatkan kembali data asli dari data serial serial. Fitur ini tersedia di Django REST Framework. Jadi, pengguna harus menginstal kerangka kerja ini untuk menggunakan serializer. Setiap halaman web dari situs web dapat berisi HTML, CSS, dan data dari tabel database. Tetapi API tidak memahami jenis konten ini, dan hanya dapat memahami data mentah, yaitu data JSON. Bagaimana serializer dapat digunakan untuk mengonversi instance model ke format JSON telah ditunjukkan dalam tutorial ini this.

Prasyarat:

Sebelum mempraktikkan skrip tutorial ini, Anda harus menyelesaikan tugas-tugas berikut:.

  1. Instal Django versi 3+ di Ubuntu 20+ (lebih disukai)
  2. Buat proyek Django
  3. 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 serialapp

Jalankan 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 super

Jalankan perintah berikut untuk menginstal Django REST Framework.

$pip3 menginstal djangorestframework

Tambahkan 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 model
dari 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 serialapp

Jalankan migrasi perintah untuk menjalankan perintah SQL dan membuat semua tabel dalam database yang didefinisikan dalam model.py mengajukan.

$ python3 kelola.py bermigrasi

Ubah 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 admin
dari django.kontribusi impor admin
# Impor model Pelanggan
dari .model impor Pelanggan
# Daftarkan model pelanggan
admin.situs.daftar (Pelanggan)

url.py

dari django.jalur impor url
dari 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 Framework
dari 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 Framework
dari 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//' jalur didefinisikan untuk menampilkan data tertentu dari pelanggan tabel dalam format JSON berdasarkan nilai ID.

url.py

# Impor modul admin
dari 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.

Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah tambahan kedua belas untuk seri Tomb Raider - waralaba game aksi-petualangan yang dibuat oleh Eidos Montreal. Permain...
Cara Meningkatkan FPS di Linux?
FPS adalah singkatan dari Bingkai per detik. Tugas FPS adalah mengukur kecepatan bingkai dalam pemutaran video atau pertunjukan game. Dengan kata sede...
Game Lab Aplikasi Oculus Teratas
Jika Anda adalah pemilik headset Oculus maka Anda harus tahu tentang sideloading. Sideloading adalah proses menginstal konten non-toko di headset Anda...