Add render markdown endpoint

This commit is contained in:
aron bergur jóhannsson 2023-03-02 22:13:43 +00:00
parent 376d3866ca
commit 53ac57e8a6
2 changed files with 25 additions and 1 deletions

View File

@ -92,4 +92,6 @@ urlpatterns = [
path('scripts/results/<int:job_result_pk>/', views.ScriptResultView.as_view(), name='script_result'),
re_path(r'^scripts/(?P<module>.([^.]+)).(?P<name>.(.+))/', views.ScriptView.as_view(), name='script'),
# Markdown
path('markdown/', views.MarkdownRenderView.as_view(), name="markdown_render")
]

View File

@ -1,7 +1,8 @@
from django.contrib import messages
from django.contrib.contenttypes.models import ContentType
from django.db.models import Count, Q
from django.http import Http404, HttpResponseForbidden
from django.http import Http404, HttpResponseForbidden, HttpResponse
from django.template import Template, Context
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse
from django.views.generic import View
@ -885,3 +886,24 @@ class JobResultBulkDeleteView(generic.BulkDeleteView):
queryset = JobResult.objects.all()
filterset = filtersets.JobResultFilterSet
table = tables.JobResultTable
#
# Markdown
#
class MarkdownRenderView(View):
# _ignore_model_permissions = True
template_code = """
{% if text %}
{{ text|markdown }}
{% else %}
&mdash;
{% endif %}
"""
def post(self, request):
context = {
"text": request.POST.get("text", "")
}
return HttpResponse(Template(self.template_code).render(Context(context)).strip())