Как добавить django-editorjs-поля EditorJsTextField или EditorJsJSONField в html-шаблон

Я пытаюсь добавить редактор в стиле блока с помощью django-editorjs-fields. Он прекрасно работает в админке django, но не работает с шаблоном. Я правильно настроил urls.py для статических файлов. Вот мой пример кода..... models.py

class Post(models.Model):
    title = models.CharField(max_length=255, blank=False)
    slug = models.CharField(max_length=255, unique=True)
    image = models.ForeignKey(Media, on_delete=models.SET_NULL, blank=True, null=True)
    content = EditorJsTextField(blank=True, null=True)

forms.py

class PostForm(forms.ModelForm):
    class Meta:
        model = Post
        fields = '__all__'
        widgets = {
            'content': EditorJsWidget(plugins=["@editorjs/image", "@editorjs/header"])
        }

views.py

class PostFormView(FormView):
    form_class = PostForm
    template_name = 'add.html'
    success_url = '/'

    def form_valid(self, form):
        form.save()
        return super().form_valid(form)

шаблон

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <button type="submit">Save</button>
</form>
</body>
</html>

Выход: https://prnt.sc/ytMX_522Y4zF

Не показывает ожидаемый вывод. Показать только обычное текстовое поле

Ожидаемый результат: https://prnt.sc/l0Uku9Xt-yNl

для содержимого вашего поля, если они возвращают null. вам нужно добавить {{ form.media }} в следующий {{ form.as_p }} из вашего html файла.

можно использовать следующим образом:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="post">
        {% csrf_token %}
        {{ form.as_p }}
        {{ form.media }} <!-- new -->
        <button type="submit">Save</button>
</form>
</body>
</html>

Подробности об этом можно найти на документации на github

Вернуться на верх