Önkoşullar:
Bu öğreticinin komut dosyasını uygulamadan önce aşağıdaki görevleri tamamlamanız gerekir.
- Django 3+ sürümünü Ubuntu 20+ üzerine kurun (tercihen)
- Bir Django projesi oluşturun
- Sunucunun düzgün çalışıp çalışmadığını kontrol etmek için Django sunucusunu çalıştırın.
Serileştiriciler için bir Django uygulaması kurun:
adlı bir Django uygulaması oluşturmak için aşağıdaki komutu çalıştırın seri uygulama.
$ python3 yönetmek.py startapp seri uygulamasıDjango veritabanına erişmek için kullanıcıyı oluşturmak için aşağıdaki komutu çalıştırın. Kullanıcıyı daha önce oluşturduysanız, komutu çalıştırmanıza gerek yoktur.
$ python3 yönetmek.py createsuperuserDjango REST Framework'ü kurmak için aşağıdaki komutu çalıştırın.
$ pip3 Djangorest çerçevesini kurunRest_framework ve uygulama adını şuraya ekleyin: INSTALLED_APP bir bölümü ayarlar.p dosya.
INSTALLED_APPS = [… .
'rest_framework',
'seri uygulama'
]
Veritabanı tablosu için bir model oluşturun:
Aç modeller.p dosyadan seri uygulama klasörünü açın ve yapısını tanımlamak için aşağıdaki betiği ekleyin müşteriler tablolar. Müşteri class adlı bir tablo oluşturmak için tanımlandı müşteriler ile ad, adres, e-posta, contact_no, ve yaratıldı alanlar. Buraya, isim, e-posta, ve İletişim Numarası alanlar karakter verilerini depolayacak, adres alan metin verilerini depolayacak ve yaratıldı alan DateTime verilerini depolayacaktır.
modeller.p
# Model modülünü içe aktarındjango'dan.db içe aktarma modelleri
# Müşteriler tablosu için model sınıfını tanımlayın
sınıf Müşteri(modeller.modeli):
isim = modeller.CharField(maks_uzunluk=100)
adres = modeller.Metin alanı()
e-posta = modeller.CharField(maks_uzunluk=50)
contact_no = modeller.CharField(maks_uzunluk=20)
oluşturulan = modeller.DateTimeField(auto_now_add=Doğru)
Çalıştır göçler modeller tarafından yapılan değişikliklere dayalı olarak yeni bir geçiş oluşturma komutu.
$ python3 yönetmek.py makemigrations serialappÇalıştır göç SQL komutlarını yürütmek ve veritabanında tanımlanan tüm tabloları oluşturmak için komut modeller.p dosya.
$ python3 yönetmek.py göçüİçeriğini değiştirin yönetici.p aşağıdaki içeriğe sahip dosya. Buraya, müşteri modellerin sınıfı kullanılarak kaydedilir kayıt() görüntüleme yöntemi müşteriler Django yönetim panosundaki tablolar.
yönetici.p
# Yönetici modülünü içe aktardjango'dan.katkıda bulunmak ithalat yöneticisi
# Müşteri modelini içe aktarın
itibaren .modeller müşteri ithal
# Müşteri modelini kaydedin
yönetici.site.kayıt (Müşteri)
url'ler.p
django'dan.url'leri içe aktarma yoludjango'dan.katkıda bulunmak ithalat yöneticisi
url kalıpları = [
# Yönetici için yolu tanımlayın
yol('yönetici/', yönetici.site.URL'ler),
]
Tabloya kayıtları ekleyin:
Django Yönetim sayfasını açın ve içine bazı kayıtlar ekleyin müşteriler tarayıcıda JSON formatında görüntülenen tablo. Burada, üç kayıt eklendi.
Görünümleri değiştir.not:
Aç Görüntüleme.p dosyadan seri uygulama ve içeriği aşağıdaki komut dosyasıyla değiştirin. Müşteri listesi class, tüm müşterilerin kayıtlarını seri hale getirmek ve verileri tarayıcıya JSON formatında döndürmek için tanımlanmıştır. Müşteri Detayı sınıf, belirli müşteri kaydını kimlik değerine göre seri hale getirmek ve tarayıcının verilerini JSON biçiminde döndürmek için tanımlanmıştır. MüşteriSerileştirici bu öğreticinin sonraki bölümünde oluşturulmuş bir serileştiriciler dosyasıdır.
Görüntüleme.p
# Jenerik ilaçları Django REST Çerçevesinden içe aktarınrest_framework içe aktarma jeneriklerinden
# Müşteri modelini içe aktar
itibaren .modeller müşteri ithal
# CustomerSerializer'ı serileştiricilerden içe aktar
itibaren .serileştiriciler CustomerSerializer'ı içe aktarır
# Müşteriler tablosunun tüm kayıtlarını JSON'a dönüştürmek için sınıfı tanımlayın
sınıf Müşteri Listesi(jenerikler.ListCreateAPIView):
sorgu kümesi = Müşteri.nesneler.herşey()
serializer_class = CustomerSerializer
# Müşteriler tablosunun belirli kaydını JSON'a dönüştürmek için sınıfı tanımlayın
sınıf CustomerDetail(jenerikler.RetrieveUpdateDestroyAPIView):
sorgu kümesi = Müşteri.nesneler.herşey()
serializer_class = CustomerSerializer
Serileştirici Oluştur:
Oluşturmak serileştiriciler.p dosya ile aynı konumda Görüntüleme.p aşağıdaki komut dosyasıyla dosya. ModelSerileştirici sınıf oluşturmak için burada kullanılır MüşteriSerileştirici Müşteri modelinin alanlarıyla serileştiriciler sınıfını döndüren sınıf. JSON formatına dönüştürülecek Müşteri modeli alanları aşağıda belirtilmiştir Meta sınıf.
serileştiriciler.p
# Serileştirici modülünü Django REST Framework'ten içe aktarınrest_framework içe aktarma serileştiricilerinden
# Müşteri modelini içe aktar
itibaren .modeller müşteri ithal
# Müşteri modeli alanlarını JSON'a dönüştürmek için özel serileştiriciler sınıfını tanımlayın
sınıf CustomerSerializer(serileştiriciler.ModelSerileştirici):
sınıf Meta:
model = Müşteri
alanlar = ('kimlik', 'ad', 'adres', 'e-posta', 'contact_no')
URL'leri değiştirin.py dosyası:
İçeriğini değiştirin url'ler.p aşağıdaki komut dosyasıyla dosya. Senaryoda, 'müşteriler/' yol tüm kayıtları görüntülemek için tanımlanır müşteriler JSON formatında tablo ve 'müşteriler/
url'ler.p
# Yönetici modülünü içe aktardjango'dan.katkıda bulunmak ithalat yöneticisi
# Yolu içe aktar ve modülü dahil et
django'dan.url'leri içe aktarma yolu
# Görünümleri içe aktar
seri uygulama içe aktarma görünümlerinden
# format_suffix_patterns'i Django REST Framework'ten içe aktarın
rest_framework'ten.urlpatterns içe aktarma format_suffix_patterns
url kalıpları = [
# Yönetici için yolu tanımlayın
yol('yönetici/', yönetici.site.URL'ler),
# Tüm müşteri verilerini JSON formatında almanın yolunu tanımlayın
path('müşteriler/', görünümler.Müşteri listesi.as_view()),
# JSON formatında kimliğe dayalı olarak belirli müşteri verilerini alma yolunu tanımlayın
path('müşteriler//', görünümler.Müşteri Detayı.as_view()),
]
urlpatterns = format_suffix_patterns(urlpatterns)
Aşağıdaki URL yürütülürse, müşteriler tablosunun tüm kayıtları JSON biçiminde gösterilecektir.
http://localhost:8000/müşteriler
Aşağıdaki URL yürütülürse ikinci müşterinin kaydı JSON formatında gösterilecektir.
http://localhost:8000/müşteriler/2
Sonuç:
Model örneğini JSON biçimine dönüştürmek için Django uygulamasında serileştiricilerin kullanımı, bu öğreticide basit bir komut dosyası kullanılarak gösterilmiştir. Django kullanıcıları, bu öğreticiyi okuduktan sonra serileştirici kullanmanın amacını anlayacak ve gerekirse bunları kendi uygulamalarında uygulayacaktır.