8. Мастера создания контента¶
Мастера создания контента позволяют использовать кнопку Создать панели инструментов в собственных приложениях. Она открывает простое диалоговое окно с основными полями, необходимыми для создания нового элемента.
django CMS использует его для создания Pages, но вы можете добавить к нему свои собственные модели.
В приложении polls_cms_integration
добавьте файл forms.py
:
from django import forms
from polls.models import Poll
class PollWizardForm(forms.ModelForm):
class Meta:
model = Poll
exclude = []
Затем добавьте файл cms_wizards.py
, содержащий:
from cms.wizards.wizard_base import Wizard
from cms.wizards.wizard_pool import wizard_pool
from polls_cms_integration.forms import PollWizardForm
class PollWizard(Wizard):
pass
poll_wizard = PollWizard(
title="Poll",
weight=200, # determines the ordering of wizards in the Create dialog
form=PollWizardForm,
description="Create a new Poll",
)
wizard_pool.register(poll_wizard)
Обновите страницу Опросы, нажмите кнопку Создать на панели инструментов - и откроется диалог мастера, предлагающий вам новый мастер для создания опросов.
Примечание
И снова, этот конкретный пример приведен только для иллюстрации. В случае опроса с несколькими вопросами, связанными с ним с помощью внешних ключей, мы действительно хотим иметь возможность редактировать эти вопросы одновременно.
Для этого потребуется гораздо более сложная форма и обработка, чем это возможно в рамках данного учебника.