django-editorjs
Plugin for using Editor.js in django admin.
Supported plugins/tools
-
@editorjs/paragraph
- -
@editorjs/image
- -
@editorjs/header
- -
@editorjs/checklist
- -
@editorjs/list
- -
@editorjs/quote
- -
@editorjs/raw
- -
@editorjs/embed
- -
@editorjs/delimiter
- -
@editorjs/warning
- -
@editorjs/link
- -
@editorjs/marker
- -
@editorjs/attaches
- -
@editorjs/table
-
⚠️ Note (for plugin configuration)Usually in examples for Editor.js you will see tool names starts with lowercase, but for bypass potential conflicts i use uppercase.
Installation
pip install django-editorjs
Simple example
# models.py
from django.db import models
from django_editorjs import EditorJsField
class Post(models.Model):
title = models.CharField(max_length=255)
body = EditorJsField()
def __str__(self):
return self.title
How to configure
You can provide field specific configuration options to EditorJsField
by argument editorjs_config
.
Example
class Post(models.Model):
title = models.TextField()
body = EditorJsField(
editorjs_config={
"tools": {
"Table": {
"disabled": False,
"inlineToolbar": True,
"config": {"rows": 2, "cols": 3,},
}
}
}
)
Config schema
-
tools
-
Image
- (dict
) configuration for toolImageTool
. (For more info see official documentation for tool). -
Header
- (dict
) configuration for toolHeader
. (For more info see official documentation for tool). -
Checklist
- (dict
) configuration for toolChecklist
. (For more info see official documentation for tool). -
List
- (dict
) configuration for toolList
. (For more info see official documentation for tool). -
Quote
- (dict
) configuration for toolQuote
. (For more info see official documentation for tool). -
Raw
- (dict
) configuration for toolRawTool
. (For more info see official documentation for tool). -
Embed
- (dict
) configuration for toolEmbed
. (For more info see official documentation for tool). -
Delimiter
- (dict
) configuration for toolDelimiter
. (For more info see official documentation for tool). -
Warning
- (dict
) configuration for toolWarning
. (For more info see official documentation for tool). -
Link
- (dict
) configuration for toolLinkTool
. (For more info see official documentation for tool). -
Marker
- (dict
) configuration for toolMarker
. (For more info see official documentation for tool). -
Attaches
- (dict
) configuration for toolAttachesTool
. (For more info see official documentation for tool). -
Table
- (dict
) configuration for toolTable
. (For more info see official documentation for tool).
-
API
-
EditorJsField
Extends
TextField
and useEditorJsWidget
as widget + have additional argument in constructor:editorjs_config
. -
EditorJsWidget
Widget that you can to use for using Editor.js in Django.
TODO
- load tool on demand
- more examples in README.md
- view-function for file uploading
- view-function for image uploading
- view-function for link info crawler