0

ニュース、イベントなどの記事を追加する記事モデルを作成したDjango-CMSサイトがあります。このモデルには、ユーザーが各記事に必要なプラグインを追加できるように、プレースホルダフィールドであるコンテンツフィールドがあります。問題は、スーパーユーザーステータスなしでユーザーを作成しても、ユーザーを作成/編集するときに表示されるすべてのアクセス許可をユーザーに付与することです。しかし、このユーザーはこのモデルにプラグインを追加することはできません。彼は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に、除外フィールドに "content"を定義した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を取り外し、正常に動作し始めました。

関連する問題