From f581025cc7a372481908a6ddb327cc822eb1540c Mon Sep 17 00:00:00 2001 From: develop Date: Sat, 23 Oct 2021 03:14:56 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=B0=D1=80=D1=82=D0=B8=D0=BD=D0=BE?= =?UTF-8?q?=D0=BA=20=D0=BF=D0=BE=20=D1=83=D1=80=D0=BB=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- django_editorjs_fields/config.py | 5 ++++- django_editorjs_fields/urls.py | 7 ++++++- django_editorjs_fields/views.py | 14 ++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/django_editorjs_fields/config.py b/django_editorjs_fields/config.py index 15d3c8e..8b7262b 100644 --- a/django_editorjs_fields/config.py +++ b/django_editorjs_fields/config.py @@ -45,7 +45,10 @@ 'Image': { 'class': 'ImageTool', 'inlineToolbar': True, - "config": {"endpoints": {"byFile": reverse_lazy('editorjs_image_upload')}}, + "config": {"endpoints": { + "byFile": reverse_lazy('editorjs_image_upload'), + "byUrl": reverse_lazy('editorjs_image_by_url') + }}, }, 'Header': { 'class': 'Header', diff --git a/django_editorjs_fields/urls.py b/django_editorjs_fields/urls.py index 1a3b29c..a5b2262 100644 --- a/django_editorjs_fields/urls.py +++ b/django_editorjs_fields/urls.py @@ -1,7 +1,7 @@ from django.contrib.admin.views.decorators import staff_member_required from django.urls import path -from .views import ImageUploadView, LinkToolView +from .views import ImageUploadView, LinkToolView, ImageByUrl urlpatterns = [ path( @@ -14,4 +14,9 @@ staff_member_required(LinkToolView.as_view()), name='editorjs_linktool', ), + path( + 'image_by_url/', + ImageByUrl.as_view(), + name='editorjs_image_by_url', + ), ] diff --git a/django_editorjs_fields/views.py b/django_editorjs_fields/views.py index 26c2fa1..56000e1 100644 --- a/django_editorjs_fields/views.py +++ b/django_editorjs_fields/views.py @@ -144,3 +144,17 @@ def get(self, request): }) return JsonResponse({'success': 0}) + + +class ImageByUrl(View): + http_method_names = ["post"] + + @method_decorator(csrf_exempt) + def dispatch(self, request, *args, **kwargs): + return super().dispatch(request, *args, **kwargs) + + def post(self, request): + body = json.loads(request.body.decode()) + if 'url' in body: + return JsonResponse({'success': 1, 'file': {"url": body['url']}}) + return JsonResponse({'success': 0}) From c00d04e22a200510b44a6b4df3b8596aacf271eb Mon Sep 17 00:00:00 2001 From: develop Date: Sat, 23 Oct 2021 03:25:16 +0300 Subject: [PATCH 2/2] Update README --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cc03f60..b816532 100644 --- a/README.md +++ b/README.md @@ -165,7 +165,10 @@ EDITORJS_DEFAULT_CONFIG_TOOLS = { 'Image': { 'class': 'ImageTool', 'inlineToolbar': True, - "config": {"endpoints": {"byFile": reverse_lazy('editorjs_image_upload')}}, + "config": {"endpoints": { + "byFile": reverse_lazy('editorjs_image_upload'), + "byUrl": reverse_lazy('editorjs_image_by_url') + }}, }, 'Header': { 'class': 'Header',