Skip to main content

Sanic-quill is a port of Flask-quill to Sanic ecosystem. (quill.js WYSIWYG editor)

Project description

sanic-quill

Sanic-quill is a port of Flask-quill (https://github.com/drewdru/flask-quill/) to Sanic ecosystem. (wtforms widget for quill.js editor (https://github.com/quilljs/quill))

Quill.js is a modern WYSIWYG editor built for compatibility and extensibility.

To add routes with edit form:

from sanic_quill import add_editor

editor will be able on the route /edit

How to use

Check sample in ‘examples’.

To add WYSIWYG editor to edit any data/fields you need to define 2 methods:

  • get_data (used by editor to get information for model to edit in form)

  • save_data (used by editor to save changes from the form)

Editor expect 3 fields in data:

  • ‘title’,

  • ‘body’,

  • ‘preview’

from sanic_quill import add_editor

...

# your Sanic app code
# with defining app = Sanic()

...

def get_data(_id):
    """ this method defines logic to send to 'edit' form data of the object """
    for post in posts:
        if post['id'] == _id:
            post['title'] = post['title']
            post['content'] = post['text']
            post['preview'] = post['preview']
            return post


def save_data(_id, data):
    """
        this method defines logic to save data from 'edit' form

        data comes like a dict with: content, content_preview and title fields,
        you need map it to your structure
    """
    for num, post in enumerate(posts):
        if post['id'] == _id:
            print('Update post')
            post['title'] = data['title']
            post['text'] = data['content']
            post['description'] = data['preview']
            break

add_editor(app, get_data, save_data)

After that you will have routes ‘/edit?’id=$id_of_your_data_item_to_edit

Also you can define a path where to save an images and route that will be used to serve uploaded images by default it is ‘/img’:

add_editor(app, get_data, save_data, img_folder="/path/for/images", route_for_img='/custom_route')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sanic-quill-0.0.2.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

sanic_quill-0.0.2-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file sanic-quill-0.0.2.tar.gz.

File metadata

  • Download URL: sanic-quill-0.0.2.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.7.4 Darwin/18.7.0

File hashes

Hashes for sanic-quill-0.0.2.tar.gz
Algorithm Hash digest
SHA256 35552e2e814dec236ff4cc1893b39401c2266c046576c3a7dffc12996ec5f112
MD5 3e405cd941492c9b16cca38bf6bac896
BLAKE2b-256 4515eb5684f5939ace982b21fdf5f30846b08b2ad79ce5a50f6153609cd0993f

See more details on using hashes here.

File details

Details for the file sanic_quill-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: sanic_quill-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.7.4 Darwin/18.7.0

File hashes

Hashes for sanic_quill-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 74ac8644a70365d70310eed9d0a630578fcba250a73eba0e895cf39190a31321
MD5 3f8820cc8595c502de93d4eec602149a
BLAKE2b-256 ac564df73864f33ee6f1b377555f6deebfeb1da1772dcbb2b6c6b18977a66ff4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page