Django, показывает только один раз, когда я использую несколько форм с богатым редактором

Я создаю область комментариев и область ответов на комментарии для пользователей. И я использую django-ckeditor для этого, но есть проблема. Когда я добавляю "форму ответа", она появляется только один раз на странице. Другие формы не отображаются. Система ответов работает, но не отображается в ckeditor (Rich editor).

Добавляю несколько фотографий для лучшего понимания: enter image description here

вторая форма на той же странице: enter image description here

обзор первой формы: enter image description here

мои модели:

class UserMessages(models.Model):
     postMessages = RichTextUploadingField(null=True, verbose_name="Message")
     post = models.ForeignKey(
                  UserPosts, on_delete=models.CASCADE, verbose_name="Linked Post", null=True)
     username = models.ForeignKey(
                  User, on_delete=models.CASCADE, verbose_name="Username", null=True)
     replies = models.ForeignKey("self", blank=True, null=True, on_delete=models.CASCADE)

мои формы:

class MessageForm(forms.ModelForm):
    class Meta:
    model = UserMessages
    fields = ("postMessages",)

    widgets = {
         "postMessages": forms.TextInput(attrs={"class":"form-control"}),

#And I tried this but not works..
class ReplyFormMessage(forms.ModelForm):
   class Meta:
      model = UserMessages
      fields = ("replies",)

мой HTML:

    <form method="POST" >
         {% csrf_token %}
         {{form.media}}
         {{ form }}
         <input type="hidden" name="replies_id" value="{{ message.id }}">
         <input type="submit" value="Reply" class="btn btn-default">
     </form>

как по мне, ckeditor просто использует один id для всех форм на странице. Есть ли у вас идея?

Прежде всего, вы не можете использовать один id для нескольких элементов в HTML. Цель id - уникально идентифицировать теги HTML, вы можете использовать классы, если хотите обобщить теги.

Во-вторых, используйте Django inline formsets для достижения желаемого.

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