Wagtail nədir
Wagtail Django üzərində qurulmuş məzmun idarəetmə sistemidir. Redaktorlar səhifə ağacı, önizləmə, versiyalar və planlı dərc alır. Developer isə Page-dən miras alan adi Django modelləri və şablonlar yazır.
| Sual | Wagtail-də cavab |
|---|---|
| URL haradadır? | səhifə ağacındakı yol |
| Struktur haradadır? | model və onun panelləri |
| Görünüş haradadır? | səhifə şablonu |
Layihənin yaradılması
pip install wagtail
wagtail start mysite
cd mysite
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserverwagtail start home və search tətbiqləri olan layihə yaradır. Wagtail admin paneli /admin/ ünvanındadır.
💡 Wagtail adi Django layihəsidir:
settings.py,urls.py, miqrasiyalar və ORM tanış qaydada işləyir.
Səhifə modelləri və ağac
# blog/models.py
from django.db import models
from wagtail.admin.panels import FieldPanel
from wagtail.fields import RichTextField
from wagtail.models import Page
class BlogPage(Page):
date = models.DateField("Post date")
intro = models.CharField(max_length=250)
body = RichTextField(blank=True)
content_panels = Page.content_panels + [
FieldPanel("date"),
FieldPanel("intro"),
FieldPanel("body"),
]content_panels redaktor formasını təyin edir. Səhifənin harada ola biləcəyini parent_page_types və subpage_types məhdudlaşdırır:
# blog/models.py
from wagtail.models import Page
class BlogIndexPage(Page):
subpage_types = ["blog.BlogPage"]