0

我有一个Django-CMS网站,我创建了一个文章模型来添加新闻,事件和其他材料。该模型有一个内容字段,它是一个PlaceholderField,用户可以将他们想要的插件添加到每篇文章中。问题是我创建了一个没有超级用户状态的用户,但给他创建/编辑用户时出现的所有权限。但是这个用户不能添加插件到这个模型。他可以将插件添加到cms页面,但不适用于此模型。我是否需要为这种情况创建某种权限?我该怎么做?Django CMS用户不能有权限添加插件

我的模型:

class Articles(models.Model): 

    objects = ArticlesManager() 

    id = models.AutoField(db_column='ID', primary_key=True) 

    sites = models.ManyToManyField(Site, verbose_name=_(u'Show in Sites'), related_name='articles_to_show') 

    type = models.ForeignKey('Types', db_column='TYPE_ID', 
          related_name='type', verbose_name=_(u'Type')) 

    content = PlaceholderField('ipp_article_content', 
           related_name='IPP_ARTICLE_CONTENT') 

    class Meta: 
     app_label = 'cms_ipportalegre' 
     db_table = 'ipp_articles' 
     verbose_name = _(u'Article') 
     verbose_name_plural = _(u'Articles') 
     permissions = (
      ("view_articles", _(u"Can view Articles")), 
     ) 

而且在我的模板:

<p>{% render_placeholder object.content language placeholder_language %}</p> 

回答

0

我发现这个问题。我在我的admin.py中配置了ArticleAdmin和ArticleAdminForm的配置,其中我已经在排除字段中定义了“内容”。

class ArticleAdminForm(ModelForm): 
    class Meta: 
     model = models.Articles 
     exclude = ["title", "description", "content" , "creation_date", "site", "slug", "counter"] 

    def __init__(self, *args, **kwargs): 
     super(ArticleAdminForm, self).__init__(*args, **kwargs) 

class ArticleAdmin(PlaceholderAdminMixin, FrontendEditableAdminMixin, admin.ModelAdmin): 
    form = ArticleAdminForm 
    frontend_editable_fields = ("sites", "featured_image", "article_image", "title_pt", "title_en", "title_es", "title_fr") 

当我从exclude一切删除content开始正常工作。