2016-05-05 12 views

cevap

7

Evet. Bir Kuyruksal Çizgisi Sayfa alt sınıfında kullanırsanız, aynı çalışır. o yaramaz ait İşte bir örnek: Eğer bunu tanımlamak herhangi modeline aynı şekilde çalışır, böylece Streamfield Django modeli alandır:

from wagtail.wagtailsnippets.models import register_snippet 
from wagtail.wagtailadmin.edit_handlers import StreamFieldPanel 

@register_snippet 
class Contact(models.Model): 
    contact_info = StreamField([ 
     ('email', MyBlocks.ContactEmail()), 
     ('phone', MyBlocks.ContactPhone()), 
     ('address', MyBlocks.ContactAddress()), 
    ]) 

    panels = [StreamFieldPanel('contact_info')] 

Ekstra şeyler için sormadım. Aslında, Streamfield sadece bir JSON dizesi olarak kaydeder. Bunu farklı kılan tek şey bloklar. Streamfield'in ilk parametresinde tanımlanan bloklar, sadece Streamfield'in içerik oluşturmak için kullanabileceği mevcut seçenekleri tanımlamaktadır. Blokların CRUD işlemleri için SQL üzerinde herhangi bir etkisi yoktur, sadece Streamfield için kaydedilen verileri manipüle etmek için kullanılırlar.

Bu yardımcı olur umarım.

+0

Awesome, cevap için teşekkürler KS. Artık kabul edilebilir olduğunu biliyorum, (bir bilgisayarın önüne geri döndüğümde) kodumdan uzak olmayan kodumu göndereceğim. Siyah çubuğu iyi üretir, ancak bir bloğu tıklattığınızda bir JS hatası vardır. Belki birisi yardım edebilir. Oldukça vanilyalı bir kurulum ve diğer yerlerde iyi çalışıyorlar, bu yüzden biraz şaşırtıcı. –