2010年8月29日日曜日

Django-cmsでpageをスクリプトで挿入

するには
        site = Site.objects.get_current()
        #cms_page
        page = Page(site=Site.objects.get_current(), navigation_extenders='',
                    template='body1Column.html', published=True,
                    publisher_state=1, publisher_is_draft=True)
        page.save()
        #cms_title ja
        title_ja = Title(page=page, language=settings.LANGUAGES[0][0],
                        slug='top-page', title='トップページ')
        title_ja.save()
        #cms_title en
        title_en = Title(page=page, language=settings.LANGUAGES[1][0],
                        slug='top-page-en', title='Top Page')
        title_en.save()
        #placeholder
        placeholders = {}
        for placeholder in page.placeholders.all():
            placeholders[placeholder.slot] = placeholder
        #plugins
        pluginText = Text(plugin_type='TextPlugin', page=page, language=settings.LANGUAGES[0][0],
                        position=0, body='

トップページ

', placeholder=placeholders['body'],
                        publisher_state=1, publisher_is_draft=True)
        pluginText.insert_at(None, commit=True)
        pluginText = Text(plugin_type='TextPlugin', page=page, language=settings.LANGUAGES[1][0],
                        position=0, body='

Top Page

', placeholder=placeholders['body'],
                        publisher_state=1, publisher_is_draft=True)
        pluginText.insert_at(None, commit=True)
 追記:django-cms 2.2ではここを見よ

0 件のコメント:

コメントを投稿