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開始正常工作。