Django - Dosya Yönetimi

İçindekiler
Uygulamalarda her zaman Veritabanına özgü öğeleri kaydetmeyeceğiz, bu durumda dosyalara atıfta bulunuyoruz, örneğin PDF, XLS, resim vb.. Tabii ki dosyayı Veritabanında ikili olarak kaydetme imkanı vardır, ancak bu uygulama onlara bakmak ve görüntülemek için ek bir yük oluşturduğu için yeterli değildir, ayrıca yedekleme işlemini zorlaştırdığı için yedekleme işlemini zorlaştırır. uygulama orta ölçekli veritabanı önemli bir ağırlığa ulaşır.
Onun için dosya yönetimi Django Modelde bildirildiğinde, uygulamamızdaki dosyaların işlenmesini kolaylaştıracak farklı yöntemlere erişmemizi sağlayan özel bir alana sahiptir.
Dosya Alanı alanı
Daha önce de belirttiğimiz gibi, belirli bir alanımız var. Django dosya işleme yapar, söz konusu alan türü Dosya Alanı, bu alanın dosyaları ve bunların işlenmesini depolamak için belirli yöntemleri vardır, işlevselliğinin çoğunu aşağıdakilerden devralan bir alan türümüz var. Dosya Alanı, Bu Resim Alanıadından da anlaşılacağı gibi, görüntüleri işlemek için özeldir.
yöntemler
Aşağıda, alan türünde sahip olduğumuz en önemli yöntemlerden bazılarını basit ve ayrıntılı bir şekilde açıklayacağız. Dosya Alanı.
get_directory_name (kendi)
Bu yöntem, Dosya adıyla birlikte Veritabanında depolanacak olan bağıl yolu basitçe döndürür, varsayılan olarak bu yöntem özniteliği kontrol eder. upload_to dizini belirlemek için alanın, alt sınıflar bile bu davranışa saygı duyar, ancak bir alt sınıf yaparak özelliğin nasıl kullanıldığını belirleyebiliriz.
get_filename (kendi, dosya adı)
Bu yöntem bir öncekine benzer şekilde çalışır, ancak odağının dosyanın yolundan adına değişmesi dışında, yaptığı şey dosyanın adını almak ve onu Veritabanında saklanacak şekilde dönüştürmektir. , herhangi bir özelleştirme yapmamız gerekiyorsa, belirli bir yapıdaki dosyanın adını değiştirmek veya belirli bir dosya uzantısı oluşturmak için, bir alt sınıf oluştururken değişikliği yapmak için bu yöntemi aramalıyız.
save_form_data (kendi, örnek, veri)
Bu, formlar için kullanılan bir yardımcı yöntemdir, ancak dosyaları depolamak için bir kısayol olarak kullanabiliriz, bunun için dosyanın bilgisine ek olarak modelin örneğini kabul eder, bu şekilde yöntem, dosya bilgisini çıkarır. Dosyayı yüklemek için gerekli bilgiler.
delete_file (kendi, örnek, gönderen)
Bu yöntem, daha önce yüklemiş olduğumuz dosyanın silinmesine izin verir, bu görevi halletmek için basit bir yol gibi görünse de, argüman nedeniyle gerçekten biraz daha karmaşık bir mekanizmadır. gönderen parametre olarak beklediğiniz, tek tek çağrılmak için tasarlanmamıştır.
Ne hakkında konuştuğumuza dair daha net bir görüş elde etmek için bu yöntemin nasıl çalıştığına dair bir resim göreceğiz:

Bununla, modeldeki dosyaları nasıl işleyebileceğimiz konusunda daha net bir fikre sahip olduğumuz için bu öğreticiyi bitiriyoruz. Django alan sayesinde Dosya Alanı ve yöntemleri.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave