2017-02-13 1 views
0

Я занимаюсь созданием плагина Django CMS. Пока я создал файл формы, модели и плагина. Я хочу сохранить информацию SETTINGS, но когда я иду, чтобы сохранить ее, она дает ошибку, как упоминалось выше. Ниже приведены детали.Разработка плагина Django CMS: __init __() получил неожиданный аргумент ключевого слова 'instance'

cms_plugins.py

from cms.plugin_base import CMSPluginBase 
from cms.plugin_pool import plugin_pool 
from cms.models import CMSPlugin 

from src.survey.forms import SurveyForm 
from . import models 


class SurveyPluginPublisher(CMSPluginBase): 
    """Show Polls entered by Admin.""" 

    cache = False 
    form = SurveyForm 
    model = models.SurveyPluginModel # Must add to show stuff. 
    module = "Survey" 
    name = "Awesome Survey v1.0" 
    render_template = 'survey/_hello.html' 


plugin_pool.register_plugin(SurveyPluginPublisher) 

forms.py

from django import forms 
from src.survey.models import Survey 

models.py

class SurveyForm(forms.Form): 
    # all_surveys = Survey.objects.only('name') 
    # surveys = forms.ModelChoiceField(queryset=all_surveys) 
    headline = forms.CharField(max_length=255, help_text='Enter Headline') 
    description = forms.CharField(widget=forms.Textarea(attrs={'rows': 5, 'cols': 100}),help_text='Enter Description') 

models.py

class SurveyPluginModel(CMSPlugin): 
    name = models.CharField("Survey Name", max_length=255, default='Survey Name', 
          help_text='Enter Survey Name') 
    description = models.CharField("Survey Description", max_length=500, blank=True, help_text='Write Description here') 

    def __str__(self): 
     return "Returning some Survey Text" 
+0

Где вы получаете эту ошибку? Показать * полную * трассировку. –

ответ

2

SurveyForm должен быть подклассом ModelForm

class SurveyForm(forms.ModelForm): 

    class Meta: 
     model = SurveyPluginModel 
+0

'django.core.exceptions.ImproperlyConfigured: создание ModelForm без атрибута 'fields' или атрибута 'exclude' запрещено; форма SurveyForm нуждается в обновлении. ' – Volatil3

+1

' fields = '__all __' 'отсортировано. благодаря – Volatil3

Смежные вопросы