django-editorjs
django-editorjs copied to clipboard
Widget of editor.js for django admin
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
toolsImage- (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
-
EditorJsFieldExtends
TextFieldand useEditorJsWidgetas widget + have additional argument in constructor:editorjs_config. -
EditorJsWidgetWidget 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