django-markdownx/markdownx/views.py

38 lines
1.1 KiB
Python
Raw Normal View History

2014-11-12 15:04:21 +00:00
from django.http import HttpResponse, JsonResponse
from django.utils.module_loading import import_string
from django.views.generic.edit import View, FormView
2014-11-12 15:04:21 +00:00
2015-09-06 07:41:45 +00:00
from .forms import ImageForm
2016-06-18 09:07:38 +00:00
from .settings import MARKDOWNX_MARKDOWNIFY_FUNCTION
2014-11-12 15:04:21 +00:00
class MarkdownifyView(View):
def post(self, request, *args, **kwargs):
2016-06-18 09:07:38 +00:00
markdownify = import_string(MARKDOWNX_MARKDOWNIFY_FUNCTION)
return HttpResponse(markdownify(request.POST['content']))
2014-11-01 21:02:31 +00:00
class ImageUploadView(FormView):
2015-09-06 07:41:45 +00:00
2014-11-01 21:02:31 +00:00
template_name = "dummy.html"
2015-09-06 07:41:45 +00:00
form_class = ImageForm
2014-11-01 21:02:31 +00:00
success_url = '/'
def form_invalid(self, form):
response = super(ImageUploadView, self).form_invalid(form)
if self.request.is_ajax():
return JsonResponse(form.errors, status=400)
else:
return response
2015-09-06 07:41:45 +00:00
2014-11-01 21:02:31 +00:00
def form_valid(self, form):
image_path = form.save()
response = super(ImageUploadView, self).form_valid(form)
if self.request.is_ajax():
image_code = '![]({})'.format(image_path)
return JsonResponse({'image_code': image_code})
2014-11-01 21:02:31 +00:00
else:
return response