Django modelste çoklu resim yada dosya ekleme

uygulama/models.py

class Test(models.Model):
    resim = models.ImageField(upload_to = 'static', blank = True, null = True)

burada resim ekleyebiliyorum ama bir tane.
Ben resim ekledikçe yine eklemek istiyorum yani bir resim ekledikten sonra tıklağımda ikinci resmi eklesin eskisini silip yeni resim eklemesin nasıl yapabilirim_?

1 Beğeni

tablo yapısını değiştirmeniz gerekebilir 1’ e n başka değişle master ,slave tablo kullanıp
iki tabloyu ilişkilendireceksiniz.slave tablo da resimlerin yolu duracak.

daha detaylı anlatabilirmisiniz örneklerlen falan yada türkçe kaynak varsa bakabilirim şimdiden tşkkrler.

1 Beğeni

bir tablo da id = 1 olsun bunun adı master tablo
diger tablo da master_id isminde bir kolon olacak buraya da kayıt atarken 1 basmalısınız
bu da slave tablo.
iki tablo arasındaki ilişki master tablodaki id ile slave tablodaki master_id ile ilişkilendirilecek.
diyelim 2 resim yüklediniz master tabloya bir kayıt atarken slave tabloya iki kayıt atacaksınız
ve slave deki her iki satır ın master_id degerleri 1 olacak.
django daki. foreign key konusuna da bakabilirsiniz

slave tablodaki kolon isimlerini ben uydurdum size kendinize göre de belirleyebilirsiniz.
günün sounda iki tabloyu birbiriyle ilişkendirmeniz gerekiyor.

1 Beğeni

Bende aynı şekil birden fazla dosya yüklemeye çalışıyorum yalnız burada yapmam gerekeni anlayamadım yardımcı olacak herkese şimdiden tşkkrler.

1 Beğeni

@steerdata
aşağıdaki linkte nasıl yapılacağı ve sayfanın sonunda github kodlarının linkine erişebilirsin, kodlara bakınca nasıl yapılacağı anlaşılıyor ancak anlayamadığın yer olursa o kod bloğunu paylaşarak sorabilirsin.

forms.py

from .models import Photo

class PhotoForm(forms.ModelForm):
    class Meta:
        model = Photo
        fields = ('file', )

Burada ne yapılmakta admin sayfasından değilde başka bir sayfadanmı model yükleyecez_?
eğer öyleyse admin sayfasından başka bir sayfaya gitmeden birden fazla resim yükleyemezmiyiz?
admin sayfasından kastım http://127.0.0.1/admin/uygulamalar/modelim/add/

1 Beğeni

Admin sayfası bize oluşturduğumuz modeller üzerinde işlem yapmamızı sağlar evet.Ama kullanıcılara admin sayfası üzerinden işlem yaptırmak hem güvenlik açığı oluşturur hem de fonksiyonel olmaz.Harici bir template oluşturulması ve kullanıcıların modele erişimi de view da belirttiğimiz template ile kullanıcıya form,içerik, context artık kullanıcıdan veri mi alıcaz yoksa bir veri mi göstericez onun kodlarını yazarız.

Belirttiğin forms.py kod bloğu kullanıcıdan alınacak olan veriler için bir form oluşturmaya yarar.Bu form view içerisinde adlandırılır(bir değişkene eşitlenir) ve template(.html uzantılı dosyaların oluşturduğu dizin) ile kullanıcıya gösterilir.

tek kullanıcının olduğu bir site için admin panelinde birden fazla dosya yükleme işlemi yapabilirmiyiz tek kullanıcı derken sitenin sahibinden bahsediyorum bunuda öğrenmek için soruyorum yani django admin paneliyle bu mümkünmü_?

1 Beğeni

Tabi mümkün admin sayfasıyla modelleri dilediğin şekilde yönetebilirsin ve ayrıca admin sayfasını dilediğin gibi özelleştirebilirsin, bununla ilgili (admin sayfası özelleştirme) türköe kaynaklar mevcut.
admin den çoklu resim gönderebilmek için de admin form sayfasını özelleştirmen gerek.şu linkte :
nasıl yapılacağı gösteriliyor.Sayfayı türkçeye çevirmeye gerek duymadım sadece kodlara bak, anlamadığın kod bloğu olursa sorarsın.
sadece şunları yapmış.
change_form.html sayfasının inline_field_sets blok seti özelleştirilmiş(bu sayfayı nerede oluşturacağını da templates altında diye belirtmiş).bir de admin.py içeriği değiştiriliyor.Model isimlerini kendine göre ayarlarsın.

1 Beğeni