Você está na página 1de 5

Docum

Integrando Wagtail em um projeto Django — Documentação


Wagtail 2.15.1 entação wagtailM
e
n

Integrando Wagtail em um projeto u

Django
Wagtail fornece o modelo de comando e projeto para você começar
com um novo projeto Wagtail o mais rápido possível, mas é fácil
integrar Wagtail em um projeto Django existente
também.wagtail start

Wagtail é atualmente compatível com Django 3.0, 3.1 e 3.2. Primeiro,


instale o pacote do PyPI:wagtail
$ pip install wagtail
ou adicionar o pacote ao seu arquivo de requisitos existentes. Isso
também instalará a biblioteca Pillow como uma dependência, que
requer libjpeg e zlib - consulte as instruções de instalação
específicasda plataforma do Travesseiro .

Configurações
No arquivo de configurações, adicione os seguintes aplicativos
a:INSTALLED_APPS
'wagtail.contrib.forms',
'wagtail.contrib.redirects',
'wagtail.embeds',
'wagtail.sites',
'wagtail.users',
'wagtail.snippets',
'wagtail.documents',
'wagtail.images',
'wagtail.search',
'wagtail.admin',
'wagtail.core',

'modelcluster',
'taggit',
Adicione a seguinte entrada a:MIDDLEWARE
'wagtail.contrib.redirects.middleware.RedirectMiddlewar
e',
Adicione uma configuração, se o seu projeto ainda não tiver um:
STATIC_ROOT
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
Adicione MEDIA_ROOT e MEDIA_URL configure, se o seu projeto
ainda não tiver isso:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
Adicione um WAGTAIL_SITE_NAME - isso será exibido no painel
principal do backend de administração Wagtail:
WAGTAIL_SITE_NAME = 'My Example Site'
Adicione a configuração WAGTAILSEARCH_BACKENDS para ativar a
pesquisa completa do texto:
WAGTAILSEARCH_BACKENDS = {
'default': {
'BACKEND': 'wagtail.search.backends.database',
}
}
Várias outras configurações estão disponíveis para configurar o
comportamento do Wagtail - ver Configurações.

Configuração de URL
Agora faça as seguintes adições ao seu arquivo:urls.py
from django.urls import path, include

from wagtail.admin import urls as wagtailadmin_urls


from wagtail.core import urls as wagtail_urls
from wagtail.documents import urls as wagtaildocs_urls

urlpatterns = [
...
path('cms/', include(wagtailadmin_urls)),
path('documents/', include(wagtaildocs_urls)),
path('pages/', include(wagtail_urls)),
...
]
Os caminhos de URL aqui podem ser alterados conforme necessário
para se adequar ao esquema de URL do seu projeto.
wagtailadmin_urls fornece a interface administrativa para Wagtail.
Isso é separado da interface de administração Django
(django.contrib.admin/); Projetos somente wagtail normalmente
hospedam o administrador Wagtail em admin/ , mas se isso entrar
em conflito com o administrador existente do seu projeto, então um
caminho alternativo pode ser usado, como aqui./cms/

wagtaildocs_urls é o local de onde os arquivos de documentos


serão servidos. Isso pode ser omitido se você não pretende usar os
recursos de gerenciamento de documentos da Wagtail.
wagtail_urls é o local base de onde as páginas do seu site Wagtail
serão servidas. No exemplo acima, wagtail lidará com URLs sob
/pages/, deixando a URL raiz e outros caminhos a serem
manuseados normalmente pelo seu projeto Django. Se você quiser
que o Wagtail manuseie todo o espaço url, incluindo a URL raiz, isso
pode ser substituído por:
path('', include(wagtail_urls)),
Neste caso, isso deve ser colocado no final da lista urlpatterns,
para que ele não substitua padrões de URL mais específicos.
Finalmente, seu projeto precisa ser configurado para atender arquivos
carregados pelo usuário de MEDIA_ROOT. Seu projeto Django pode já
ter isso no lugar, mas se não, adicione o seguinte trecho a:urls.py
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
Observe que isso só funciona no modo de desenvolvimento
(DEBUG = True); em produção, você precisará configurar seu servidor
web para servir arquivos de MEDIA_ROOT. Para obter mais detalhes,
consulte a documentação do Django: Servindo arquivos carregados
por um usuário durante o desenvolvimento e implantação
de arquivos estáticos.

Com esta configuração no lugar, você está pronto para executar


./manage.py migrate para criar as tabelas de banco de dados
usadas pela Wagtail.
Contas de usuários
As contas de superusuários recebem acesso automático à interface
administrativa Wagtail; usar ./manage.py createsuperuser se
você ainda não tem um. Modelos de usuário personalizados são
suportados, com algumas restrições; Wagtail usa uma extensão da
estrutura de permissões do Django, de modo que seu modelo de
usuário deve, no mínimo, herdar AbstractBaseUser
e . PermissionsMixin

Comece a desenvolver
Agora você está pronto para adicionar um novo aplicativo ao seu
projeto Django (via ./manage.py startapp - lembre-se de
adicioná-lo INSTALLED_APPS ) e configurar modelos de página, como
descrito em Seu primeiro site Wagtail.

Observe que há uma pequena diferença ao não usar o modelo de


projeto Wagtail: Wagtail cria uma página inicial inicial do tipo básico
Page , que não inclui campos de conteúdo além do título. Você
provavelmente vai querer substituir isso por sua própria classe -
HomePage quando você fizer isso, certifique-se de configurar um
registro de site (em Configurações / Sites no administrador wagtail)
para apontar para a nova página inicial.

Você também pode gostar