WagtailMedia是Wagtail CMS的媒体编辑器集成。

django_wagtailmedium的Python项目详细描述


WagtailMedia是Wagtail CMS的媒体编辑器集成。

https://raw.githubusercontent.com/dperetti/Django-wagtailmedium/master/Documentation.codestory/data/1a179310-b817-11e6-9f99-f91930e01b01.png

note:有更详细的.codestory格式的文档,以及要处理的示例项目。

安装

  1. 从pip安装

    pip install django-wagtailmedium
    
  2. 将wagtailmedium添加到应用程序中

    INSTALLED_APPS = [
      ...
      'wagtailmedium',
    ]
    

三。将wagtailmedium小部件添加到“wagtailadmin”富文本编辑器`(由wagtail实现,尚未记录)

WAGTAILADMIN_RICH_TEXT_EDITORS = {
     'default': {
         'WIDGET': 'wagtail.wagtailadmin.rich_text.HalloRichTextArea'
     },
     'medium': {
         'WIDGET': 'wagtailmedium.rich_text.MediumRichTextArea',
         'OPTIONS': {
             'custom_buttons': {
                 'code': {
                   'contentDefault': '<b>Code</b>',
                   'contentFA': '<i class="fa fa-code"></i>',
                   'tag': 'code',
                   'className': 'code',  # optional
                 },
                 'test': {
                     'contentDefault': '<b>Test</b>',
                     'contentFA': '<i class="fa fa-code"></i>',
                     'tag': 'span',
                     'className': 'test',  # optional
                 },
             },
             'medium': {  # https://github.com/yabwe/medium-editor#options-example
                 # 'buttonLabels': 'fontawesome',
                 'toolbar': {
                     'buttons': [  # https://github.com/yabwe/medium-editor#all-buttons
                         'bold', 'italic', 'underline',
                         'code',
                         'test',
                         'link',
                         'linkdoc',
                         'h2', 'h3', 'orderedlist', 'unorderedlist', 'strikethrough'
                     ]
                 },
             },
         },
     },
 }
  1. register whitelister元素规则

这个wagtailhook定义了在富文本区域中允许哪些html元素。

wagtail_hooks.py

from wagtail.wagtailcore import hooks
from wagtail.wagtailcore.whitelist import attribute_rule, allow_without_attributes


# http://docs.wagtail.io/en/v1.7/reference/hooks.html#construct-whitelister-element-rules
@hooks.register('construct_whitelister_element_rules')  # #7bFcf#
def whitelister_element_rules():
    return {
        'u': allow_without_attributes,
        'span': attribute_rule({'class': True}),
        'code': allow_without_attributes,
        'blockquote': allow_without_attributes,
    }
  1. 在模型的richtextfield中使用wagtailmedium

models.py

from wagtail.wagtailcore.models import Page, StreamField, RichTextField

class HomePage(Page):
    # a default, Hallo editor
    hallo = RichTextField(blank=True)
    # a medium editor
    medium = RichTextField(editor='medium', blank=True)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在不扩展小程序的情况下使用小程序方法?   Java/包含点的排序数组   java如何在EJB项目中创建会话?   java JavaFX我切换了场景,但我不能再回来了   环境变量为java设置类路径时%classpath%的含义是什么   java如何使用Serenity BDD管理浏览器选项卡?   java如何创建一个。gwt中的war文件在eclipse中使用maven?   java使用java程序更新HTML文件   Java、SQLite、向数据库插入数据   java无法在RPi上安装JDK 16   在不进行反射的情况下调用动态java方法   如何在Ubuntu上安装Eclipse和Java SDK?   JavaSSHMySQL连接   在内存和性能方面,用Java每秒打印格式化日期+时间的最有效方法是什么?   java如何匹配映射返回类型的键和值?   java JUnit测试挂起在clientSocket上。接受()?   jbossweb中的java系统属性引用。服务器启动时未解析xml   java如何在set操作中使用arrayUnion   java 安卓。看法充气异常:二进制XML文件行#22