2016-11-03 7 views
0

pip install -e git+http://[email protected]/divio/django-polls.git#egg=polls 님의 응용 프로그램 설문을 설치했습니다. 신청서는 /me/env/src/polls/에 저장됩니다. /me/project/에서 서버를 실행합니다. Poll Plugin cant을 가져올 수 없습니다. 설문 조사 앱이 자신의 모델을 어떻게 사용하는지 정의 할 수 있습니다.투표 신청서에서 플러그인 만들기

이제 템플릿에 플러그인과 자리 표시자를 만들고 싶습니다.

cms_plugins.py 

    from cms.plugin_base import CMSPluginBase 
    from cms.plugin_pool import plugin_pool 
    from polls.models import PollPlugin as PollPluginModel 
    from django.utils.translation import ugettext as _ 

    class PollPlugin(CMSPluginBase): 
     model = PollPluginModel # <--not sure what to put here. 
     name = _("Poll Plugin") # Name of the plugin 
     render_template = "polls/plugin.html" # 

     def render(self, context, instance, placeholder): 
      context.update({'instance':instance}) 
      return context 

    plugin_pool.register_plugin(PollPlugin) # register the plugin 

여론 조사/models.py

class Poll(models.Model): 
     question = models.CharField(max_length=200) 

     def __unicode__(self): # Python 3: def __str__(self): 
      return self.question 


class Choice(models.Model): 
    poll = models.ForeignKey(Poll) 
    choice_text = models.CharField(max_length=200) 
    votes = models.IntegerField(default=0) 

    def __unicode__(self): # Python 3: def __str__(self): 
     return self.choice_text 

답변

0

먼저 새로운 응용 프로그램을 추가해야합니다.

http://docs.django-cms.org/en/release-3.4.x/introduction/plugins.html 문서라도이 완료 polls.models이 설문 조사

class PollPluginModel(CMSPlugin): 
    poll = models.ForeignKey(Poll) 

    def __unicode__(self): 
     return self.poll.question 

확인하시기 바랍니다 가져올에서 cms.models에서 이 CMSPlugin 를 가져올 모델/django.db 수입 모델에서 을 PollPluginModel을 정의하고 여론 조사 여론 조사로 연결 플러그인 자습서.