Django_quill modelform QuillField не отображается в форме

Я не могу заставить QuillField отображаться в моей форме. Все остальные поля отображаются нормально. Я не могу найти, чего мне не хватает.

Я просмотрел django_quill_editor официальные документы и порылся в google. Я в растерянности.

Вот файлы.

settings.py

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sites',
'crispy_forms',
'blog',
'django_quill',

forms.py

from .models import UserPost

class UserPostForm(forms.ModelForm):

class Meta:
    model = UserPost
    fields = ('title', 'image', 'content')

models.py

from django_quill.fields import QuillField

class UserPost(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=500)
    image = models.ImageField(upload_to='images/', blank=True, null=True)
    categories = models.ManyToManyField('Category', related_name='userposts')
    content = QuillField()
    date_published = models.DateField(auto_now_add=True)
    url = models.SlugField(max_length=500, unique=True, blank=True, editable=False)

def save(self, *args, **kwargs):
    self.url = slugify(self.title)
    super(UserPost, self).save(*args, **kwargs)

views.py

from .forms import UserPostForm

def userposts_create_view(request):
    form = UserPostForm(request.POST or None)
    if request.method == "POST":
        if form.is_valid():
            form.save()
        return redirect("landingpage:home")

    context= {'form': form,}

    return render(request, 'userpost_create.html', context)

userpost_create.html

{% load crispy_forms_tags %}

<div class="card">
<div class="card-title">
    <h1>Create Post</h1>
</div>
<div class="card-body">
    <form enctype="multipart/form-data" method="POST" action="">
        {% csrf_token %}
        <div class="form-row">
          <div class="form-group col-md-6 mb-0">
            {{ form.title|as_crispy_field }}
          </div>
          <div class="form-group col-md-6 mb-0">
            {{ form.image|as_crispy_field }}
          </div>
        </div>
        {{ form.content }}
        <input type="submit" value="Post"/>
    </form>
</div>

Чтобы отобразить `django-quill-editor' как поле ModelForm, необходимо выполнить несколько дополнительных шагов, как указано в Django Quill Docs.

В вашем forms.py:

from django_quill.forms import QuillFormField # <-- NEW

class PostForm(ModelForm):

    class Meta:
        model = Post
        body = QuillFormField() # <-- NEW
        fields = ['body']

В верхней части вашего шаблона в разделе <head>:

<head>
    {{ form.media }}
</head>

или

<head>
    {% include 'django_quill/media.html' %}
</head>
Вернуться на верх