0.7.42
images in ckeditor
This commit is contained in:
@@ -0,0 +1,104 @@
|
|||||||
|
# Generated by Django 4.2.2 on 2023-09-22 13:29
|
||||||
|
|
||||||
|
import ckeditor_uploader.fields
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('ArticlesApp', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='articlemodel',
|
||||||
|
name='description',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='articlemodel',
|
||||||
|
name='description_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='articlemodel',
|
||||||
|
name='description_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='articlemodel',
|
||||||
|
name='seo_text',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Текст SEO статьи'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='articlemodel',
|
||||||
|
name='seo_text_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Текст SEO статьи'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='articlemodel',
|
||||||
|
name='seo_text_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Текст SEO статьи'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='articlemodel',
|
||||||
|
name='text',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(verbose_name='Текст'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='articlemodel',
|
||||||
|
name='text_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(null=True, verbose_name='Текст'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='articlemodel',
|
||||||
|
name='text_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(null=True, verbose_name='Текст'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='userpagemodel',
|
||||||
|
name='description',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='userpagemodel',
|
||||||
|
name='description_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='userpagemodel',
|
||||||
|
name='description_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='userpagemodel',
|
||||||
|
name='seo_text',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Текст SEO статьи'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='userpagemodel',
|
||||||
|
name='seo_text_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Текст SEO статьи'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='userpagemodel',
|
||||||
|
name='seo_text_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Текст SEO статьи'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='userpagemodel',
|
||||||
|
name='text',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(verbose_name='Текст'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='userpagemodel',
|
||||||
|
name='text_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(null=True, verbose_name='Текст'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='userpagemodel',
|
||||||
|
name='text_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(null=True, verbose_name='Текст'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -5,7 +5,8 @@ __author__ = 'sync'
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
from BaseModels.base_models import BaseModelViewPage, BaseModel
|
from BaseModels.base_models import BaseModelViewPage, BaseModel
|
||||||
from ckeditor.fields import RichTextField
|
# from ckeditor.fields import RichTextField
|
||||||
|
from ckeditor_uploader.fields import RichTextUploadingField
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
|
|
||||||
@@ -18,7 +19,7 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
|
|
||||||
class UserPageModel(BaseModelViewPage):
|
class UserPageModel(BaseModelViewPage):
|
||||||
# pub_DT = models.DateTimeField(verbose_name=u'Дата и время публикации', auto_created=True)
|
# pub_DT = models.DateTimeField(verbose_name=u'Дата и время публикации', auto_created=True)
|
||||||
text = RichTextField(verbose_name=u'Текст')
|
text = RichTextUploadingField(verbose_name=u'Текст')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name=u'Пользовательская страница'
|
verbose_name=u'Пользовательская страница'
|
||||||
@@ -30,8 +31,8 @@ class UserPageModel(BaseModelViewPage):
|
|||||||
|
|
||||||
class ArticleModel(BaseModelViewPage):
|
class ArticleModel(BaseModelViewPage):
|
||||||
# pub_DT = models.DateTimeField(verbose_name=u'Дата и время публикации', auto_created=True)
|
# pub_DT = models.DateTimeField(verbose_name=u'Дата и время публикации', auto_created=True)
|
||||||
text = RichTextField(verbose_name=u'Текст')
|
text = RichTextUploadingField(verbose_name=u'Текст')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name=u'Статья'
|
verbose_name='Статья'
|
||||||
verbose_name_plural =u'Статьи'
|
verbose_name_plural ='Статьи'
|
||||||
@@ -10,7 +10,8 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
from django.db.models.signals import post_save, pre_save
|
from django.db.models.signals import post_save, pre_save
|
||||||
from django.utils.text import slugify
|
from django.utils.text import slugify
|
||||||
from django.contrib.postgres.fields import JSONField
|
from django.contrib.postgres.fields import JSONField
|
||||||
from ckeditor.fields import RichTextField
|
# from ckeditor.fields import RichTextField
|
||||||
|
from ckeditor_uploader.fields import RichTextUploadingField
|
||||||
from django.contrib.contenttypes.fields import GenericRelation
|
from django.contrib.contenttypes.fields import GenericRelation
|
||||||
|
|
||||||
|
|
||||||
@@ -86,9 +87,9 @@ class BaseModelViewPage(BaseModel):
|
|||||||
help_text=_(
|
help_text=_(
|
||||||
'можно изменить адрес страницы (!!! ВНИМАНИЕ !!! поисковые системы потеряют страницу и найдут лишь спустя неделю...месяц)'))
|
'можно изменить адрес страницы (!!! ВНИМАНИЕ !!! поисковые системы потеряют страницу и найдут лишь спустя неделю...месяц)'))
|
||||||
title = models.TextField(verbose_name=_('Заголовок'), null=True, blank=True)
|
title = models.TextField(verbose_name=_('Заголовок'), null=True, blank=True)
|
||||||
description = RichTextField(verbose_name=_('Краткое описание'), null=True, blank=True, # max_length=240,
|
description = RichTextUploadingField(verbose_name=_('Краткое описание'), null=True, blank=True, # max_length=240,
|
||||||
help_text=_('краткое описание страницы (до 240 символов)'))
|
help_text=_('краткое описание страницы (до 240 символов)'))
|
||||||
text = RichTextField(verbose_name=_('Полное описание'), null=True, blank=True, )
|
text = RichTextUploadingField(verbose_name=_('Полное описание'), null=True, blank=True, )
|
||||||
# help_text=_(u'краткое описание страницы (до 240 символов)'))
|
# help_text=_(u'краткое описание страницы (до 240 символов)'))
|
||||||
picture = models.ImageField(upload_to='uploads/', verbose_name=_('Картинка'), null=True, blank=True,
|
picture = models.ImageField(upload_to='uploads/', verbose_name=_('Картинка'), null=True, blank=True,
|
||||||
help_text=u'')
|
help_text=u'')
|
||||||
@@ -102,7 +103,7 @@ class BaseModelViewPage(BaseModel):
|
|||||||
seo_description = models.CharField(max_length=250, verbose_name=_('Description (150 знаков)'), null=True,
|
seo_description = models.CharField(max_length=250, verbose_name=_('Description (150 знаков)'), null=True,
|
||||||
blank=True)
|
blank=True)
|
||||||
seo_keywords = models.CharField(max_length=250, verbose_name=_('Keywords (200 знаков)'), null=True, blank=True)
|
seo_keywords = models.CharField(max_length=250, verbose_name=_('Keywords (200 знаков)'), null=True, blank=True)
|
||||||
seo_text = RichTextField(verbose_name=_(u'Текст SEO статьи'), null=True, blank=True)
|
seo_text = RichTextUploadingField(verbose_name=_(u'Текст SEO статьи'), null=True, blank=True)
|
||||||
|
|
||||||
FAQ_title = models.CharField(max_length=250, verbose_name=_(u'FAQ Заголовок'), null=True, blank=True)
|
FAQ_title = models.CharField(max_length=250, verbose_name=_(u'FAQ Заголовок'), null=True, blank=True)
|
||||||
FAQ_items = GenericRelation('GeneralApp.FAQitem', related_query_name='grel_%(class)s_for_faq_item')
|
FAQ_items = GenericRelation('GeneralApp.FAQitem', related_query_name='grel_%(class)s_for_faq_item')
|
||||||
|
|||||||
@@ -0,0 +1,109 @@
|
|||||||
|
# Generated by Django 4.2.2 on 2023-09-22 13:29
|
||||||
|
|
||||||
|
import ckeditor_uploader.fields
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('GeneralApp', '0003_staticpage_seo_description_en_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='block',
|
||||||
|
name='description',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='block',
|
||||||
|
name='description_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='block',
|
||||||
|
name='description_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='block',
|
||||||
|
name='seo_text',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Текст SEO статьи'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='block',
|
||||||
|
name='text',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Полное описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='block',
|
||||||
|
name='text_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Полное описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='block',
|
||||||
|
name='text_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Полное описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='faqitem',
|
||||||
|
name='answer',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(verbose_name='Ответ'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='faqitem',
|
||||||
|
name='answer_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(null=True, verbose_name='Ответ'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='faqitem',
|
||||||
|
name='answer_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(null=True, verbose_name='Ответ'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='staticpage',
|
||||||
|
name='description',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='staticpage',
|
||||||
|
name='description_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='staticpage',
|
||||||
|
name='description_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, help_text='краткое описание страницы (до 240 символов)', null=True, verbose_name='Краткое описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='staticpage',
|
||||||
|
name='seo_text',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Текст SEO статьи'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='staticpage',
|
||||||
|
name='seo_text_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Текст SEO статьи'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='staticpage',
|
||||||
|
name='seo_text_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Текст SEO статьи'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='staticpage',
|
||||||
|
name='text',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Полное описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='staticpage',
|
||||||
|
name='text_en',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Полное описание'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='staticpage',
|
||||||
|
name='text_ru',
|
||||||
|
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True, verbose_name='Полное описание'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
from BaseModels.base_models import BaseModelViewPage, BaseModel
|
from BaseModels.base_models import BaseModelViewPage, BaseModel
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from ckeditor.fields import RichTextField
|
# from ckeditor.fields import RichTextField
|
||||||
|
from ckeditor_uploader.fields import RichTextUploadingField
|
||||||
|
|
||||||
class StaticPage(BaseModelViewPage):
|
class StaticPage(BaseModelViewPage):
|
||||||
promo_header = models.BooleanField(verbose_name='Промо-хэдер', default=False)
|
promo_header = models.BooleanField(verbose_name='Промо-хэдер', default=False)
|
||||||
@@ -36,7 +37,7 @@ class FAQitem(BaseModel):
|
|||||||
content_object = GenericForeignKey('content_type', 'object_id')
|
content_object = GenericForeignKey('content_type', 'object_id')
|
||||||
|
|
||||||
question = models.TextField(verbose_name='Вопрос')
|
question = models.TextField(verbose_name='Вопрос')
|
||||||
answer = RichTextField(verbose_name='Ответ')
|
answer = RichTextUploadingField(verbose_name='Ответ')
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
if self.question:
|
if self.question:
|
||||||
|
|||||||
143
TWB/settings.py
143
TWB/settings.py
@@ -226,6 +226,15 @@ CKEDITOR_CONFIGS = {
|
|||||||
# 'filebrowserWindowWidth': "100%",
|
# 'filebrowserWindowWidth': "100%",
|
||||||
'toolbar': 'Custom',
|
'toolbar': 'Custom',
|
||||||
'forcePasteAsPlainText': True,
|
'forcePasteAsPlainText': True,
|
||||||
|
# 'allowedContent': True,
|
||||||
|
'disallowedContent': 'img{width,height};img[width,height]',
|
||||||
|
# 'extraPlugins': 'image2',
|
||||||
|
|
||||||
|
'enterMode': 2,
|
||||||
|
'basicEntities' : False,
|
||||||
|
'entities_additional': '',
|
||||||
|
'entities' : False,
|
||||||
|
'htmlEncodeOutput' : False,
|
||||||
# 'toolbar_Custom': [
|
# 'toolbar_Custom': [
|
||||||
# ['Bold', 'Italic', 'Underline'],
|
# ['Bold', 'Italic', 'Underline'],
|
||||||
# ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
|
# ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
|
||||||
@@ -254,74 +263,74 @@ CKEDITOR_CONFIGS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
CKEDITOR_OPTIONS = {
|
# CKEDITOR_OPTIONS = {
|
||||||
'height': 291,
|
# 'height': 291,
|
||||||
'width': '95%',
|
# 'width': '95%',
|
||||||
'filebrowserWindowHeight': 600,
|
# 'filebrowserWindowHeight': 600,
|
||||||
'filebrowserWindowWidth': "100%",
|
# 'filebrowserWindowWidth': "100%",
|
||||||
'toolbar': 'YourCustomToolbarConfig',
|
# 'toolbar': 'YourCustomToolbarConfig',
|
||||||
|
|
||||||
'allowedContent': True,
|
|
||||||
|
|
||||||
'enterMode': 2,
|
|
||||||
'basicEntities' : False,
|
|
||||||
'entities_additional': '',
|
|
||||||
'entities' : False,
|
|
||||||
'htmlEncodeOutput' : False,
|
|
||||||
'toolbar_Basic': [
|
|
||||||
['Source', '-', 'Bold', 'Italic']
|
|
||||||
],
|
|
||||||
'toolbar_YourCustomToolbarConfig': [
|
|
||||||
{'name': 'document', 'items': ['Source', '-', 'Save', 'NewPage', 'Preview', 'Print', '-', 'Templates']},
|
|
||||||
{'name': 'clipboard', 'items': ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo']},
|
|
||||||
{'name': 'editing', 'items': ['Find', 'Replace', '-', 'SelectAll']},
|
|
||||||
{'name': 'forms',
|
|
||||||
'items': ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton',
|
|
||||||
'HiddenField']},
|
|
||||||
'/',
|
|
||||||
{'name': 'basicstyles',
|
|
||||||
'items': ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat']},
|
|
||||||
{'name': 'paragraph',
|
|
||||||
'items': ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv', '-',
|
|
||||||
'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-', 'BidiLtr', 'BidiRtl',
|
|
||||||
'Language']},
|
|
||||||
{'name': 'links', 'items': ['Link', 'Unlink', 'Anchor']},
|
|
||||||
{'name': 'insert',
|
|
||||||
'items': ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', 'PageBreak', 'Iframe']},
|
|
||||||
'/',
|
|
||||||
{'name': 'styles', 'items': ['FontSize']},
|
|
||||||
{'name': 'colors', 'items': ['TextColor', 'BGColor']},
|
|
||||||
{'name': 'tools', 'items': ['Maximize', 'ShowBlocks']},
|
|
||||||
# {'name': 'about', 'items': ['About']},
|
|
||||||
'/', # put this to force next toolbar on new line
|
|
||||||
# {'name': 'yourcustomtools', 'items': [
|
|
||||||
# # put the name of your editor.ui.addButton here
|
|
||||||
# 'Preview',
|
|
||||||
# 'Maximize',
|
|
||||||
#
|
#
|
||||||
# ]},
|
# 'allowedContent': True,
|
||||||
],
|
#
|
||||||
|
# 'enterMode': 2,
|
||||||
'tabSpaces': 4,
|
# 'basicEntities' : False,
|
||||||
'removePlugins': 'stylesheetparser',
|
# 'entities_additional': '',
|
||||||
# 'extraPlugins': ','.join([
|
# 'entities' : False,
|
||||||
# 'uploadimage', # the upload image feature
|
# 'htmlEncodeOutput' : False,
|
||||||
# # your extra plugins here
|
# 'toolbar_Basic': [
|
||||||
# 'div',
|
# ['Source', '-', 'Bold', 'Italic']
|
||||||
# 'autolink',
|
# ],
|
||||||
# 'autoembed',
|
# 'toolbar_YourCustomToolbarConfig': [
|
||||||
# 'embedsemantic',
|
# {'name': 'document', 'items': ['Source', '-', 'Save', 'NewPage', 'Preview', 'Print', '-', 'Templates']},
|
||||||
# 'autogrow',
|
# {'name': 'clipboard', 'items': ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo']},
|
||||||
# # 'devtools',
|
# {'name': 'editing', 'items': ['Find', 'Replace', '-', 'SelectAll']},
|
||||||
# 'widget',
|
# {'name': 'forms',
|
||||||
# 'lineutils',
|
# 'items': ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton',
|
||||||
# 'clipboard',
|
# 'HiddenField']},
|
||||||
# 'dialog',
|
# '/',
|
||||||
# 'dialogui',
|
# {'name': 'basicstyles',
|
||||||
# 'elementspath'
|
# 'items': ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat']},
|
||||||
# ]),
|
# {'name': 'paragraph',
|
||||||
|
# 'items': ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv', '-',
|
||||||
}
|
# 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-', 'BidiLtr', 'BidiRtl',
|
||||||
|
# 'Language']},
|
||||||
|
# {'name': 'links', 'items': ['Link', 'Unlink', 'Anchor']},
|
||||||
|
# {'name': 'insert',
|
||||||
|
# 'items': ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', 'PageBreak', 'Iframe']},
|
||||||
|
# '/',
|
||||||
|
# {'name': 'styles', 'items': ['FontSize']},
|
||||||
|
# {'name': 'colors', 'items': ['TextColor', 'BGColor']},
|
||||||
|
# {'name': 'tools', 'items': ['Maximize', 'ShowBlocks']},
|
||||||
|
# # {'name': 'about', 'items': ['About']},
|
||||||
|
# '/', # put this to force next toolbar on new line
|
||||||
|
# # {'name': 'yourcustomtools', 'items': [
|
||||||
|
# # # put the name of your editor.ui.addButton here
|
||||||
|
# # 'Preview',
|
||||||
|
# # 'Maximize',
|
||||||
|
# #
|
||||||
|
# # ]},
|
||||||
|
# ],
|
||||||
|
#
|
||||||
|
# 'tabSpaces': 4,
|
||||||
|
# 'removePlugins': 'stylesheetparser',
|
||||||
|
# # 'extraPlugins': ','.join([
|
||||||
|
# # 'uploadimage', # the upload image feature
|
||||||
|
# # # your extra plugins here
|
||||||
|
# # 'div',
|
||||||
|
# # 'autolink',
|
||||||
|
# # 'autoembed',
|
||||||
|
# # 'embedsemantic',
|
||||||
|
# # 'autogrow',
|
||||||
|
# # # 'devtools',
|
||||||
|
# # 'widget',
|
||||||
|
# # 'lineutils',
|
||||||
|
# # 'clipboard',
|
||||||
|
# # 'dialog',
|
||||||
|
# # 'dialogui',
|
||||||
|
# # 'elementspath'
|
||||||
|
# # ]),
|
||||||
|
#
|
||||||
|
# }
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user