Add Wagtail to Django
If you have a website with Django you can easily add a Wagtail app to it.
Just follow this simple steps.
Installation
Download and go to app
git clone https://github.com/oscfr657/Birdapp657.git
cd Birdapp657
Pip requirements
pip install -r requirements.txt
Django settings
To your settings file,
add to the INSTALLED_APPS
'django.contrib.sites', # custom
'django.contrib.sitemaps', # custom
# wagtail
'wagtail.contrib.forms',
'wagtail.contrib.redirects',
'wagtail.contrib.settings', # custom
'wagtail.contrib.search_promotions', # custom
'wagtail.embeds',
'wagtail.sites',
'wagtail.users',
'wagtail.snippets',
'wagtail.documents',
'wagtail.images',
'wagtail.search',
'wagtail.admin',
'wagtail.core',
'modelcluster',
'taggit',
# custom
'birdapp657',
# birdapp657 media file block
'wagtailmedia',
# birdapp657 default search backend
'wagtail.contrib.postgres_search',
add to the MIDDLEWARE settings
'django.contrib.sites.middleware.CurrentSiteMiddleware',
'wagtail.contrib.redirects.middleware.RedirectMiddleware',
add to the TEMPLATES settings
TEMPLATES = [
{
'OPTIONS': {
'context_processors': [
'wagtail.contrib.settings.context_processors.settings', # Extra
},
},
]
I recommend
set the
WAGTAILIMAGES_FORMAT_
CONVERSIONS
setting:
WAGTAILIMAGES_FORMAT_CONVERSIONS = {
'bmp': 'webp',
'jpeg': 'webp',
'jpg': 'webp',
'JPG': 'webp',
'webp': 'webp',
'png': 'webp',
}
Database configuration
python manage.py migrate
Search Index setup
python manage.py update_index
Django url
To the django projects' url.py add
from django.urls import path, re_path
from django.conf.urls import include
# Wagtail
from wagtail.admin import urls as wagtailadmin_urls
from wagtail.documents import urls as wagtaildocs_urls
from wagtail.core import urls as wagtail_urls
from wagtail.contrib.sitemaps.views import sitemap
and
urlpatterns = [
re_path('sitemap.xml', sitemap),
# Wagtail
re_path(r'^birdapp/', include(wagtailadmin_urls)),
re_path(r'^documents/', include(wagtaildocs_urls)),
re_path(r'', include(wagtail_urls)),
]
optionally
handler403 = 'birdapp657.views.bird_page_403'
handler404 = 'birdapp657.views.bird_page_404'
handler500 = 'birdapp657.views.bird_page_500'
Collectstatic
python manage.py collectstatic