Django CMS 用户无权添加插件
Django CMS user can't have permissions to add plugins
我有一个 Django-CMS 站点,我在其中创建了一个文章模型来添加新闻、事件和其他 material。该模型有一个内容字段,它是一个 PlaceholderField,因此用户可以将他们想要的插件添加到每篇文章中。问题是我创建了一个没有超级用户身份的用户,但给了他我 create/edit 用户时出现的所有权限。但是这个用户不能给这个模型添加插件。他可以向 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>
我发现了问题。我在我的 admin.py 中有一个 ArticleAdmin 和 ArticleAdminForm 的配置,我在排除字段中定义了 "content"。
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
时,一切开始正常工作。
我有一个 Django-CMS 站点,我在其中创建了一个文章模型来添加新闻、事件和其他 material。该模型有一个内容字段,它是一个 PlaceholderField,因此用户可以将他们想要的插件添加到每篇文章中。问题是我创建了一个没有超级用户身份的用户,但给了他我 create/edit 用户时出现的所有权限。但是这个用户不能给这个模型添加插件。他可以向 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>
我发现了问题。我在我的 admin.py 中有一个 ArticleAdmin 和 ArticleAdminForm 的配置,我在排除字段中定义了 "content"。
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
时,一切开始正常工作。