Ich habe zwei einfache Modelle: Frage und Auswahl (eine Frage hat mehrere Möglichkeiten). Ich habe Inline-Formularsatz verwendet, um Optionen hinzuzufügen und Fragen hinzuzufügen (über die Funktion "ModelAdmin").
%Vor% Nun sind die Felder Auswahl und Frage RichTextField definiert in django-ckeditor . Das Problem ist, wenn ich auf "Eine andere Auswahl hinzufügen" klicke, bekomme ich ein uncaught exception: [CKEDITOR.editor] The instance "id_choice_set-__prefix__-description" already exists
, was die ckeditor-Funktionalität stört.
Irgendwelche Ideen / Vorschläge, wie Sie dieses Problem beheben können? Ich denke, einige JS Tweaks können helfen, aber ich habe ein sehr begrenztes Wissen in JS / Jquery
Danke
Ich habe ein ähnliches Problem festgestellt und eine Lösung hier gefunden.
Es wird durch Inline verursacht. Versuchen Sie, die gegabelte Version zu installieren, um es ausprobieren zu können.
Obwohl sechs Monate vergangen sind, hoffe ich, dass dies denjenigen hilft, die ähnliche Probleme haben.
Zeile 66 von django-ckeditors widgets.py ist wo Ihre Probleme scheinen zu entstehen.
Im Wesentlichen scheint es, dass die Ersetzung für final_attr['id']
ist, wo Sie __prefix__
erhalten. Durch den Quellcode des Frameworks Zeile 151 von Djangos Forms / Formsets .py gibt an, woher dieser Wert kommt. Von der Quelle scheint es auch, dass der Wert in allen Fällen durch das Standardpräfix d. H. 'form' ersetzt wird, außer wenn Sie irgendwie _get_empty_form()
falsch verwenden.
Es wäre hilfreich, wenn Sie Folgendes angeben / beantworten:
Sobald Ihre Seite gerendert ist, aber bevor Sie "Eine andere Auswahl hinzufügen", veröffentlichen Sie die Tag-Attribute aus Ihrem gerenderten Formset (inkl. Verwaltungsformular).
Verwenden Sie _get_empty_form()
direkt an einem beliebigen Punkt in Ihrem Code?
Code für die Ansicht, in der Sie das Formularset erstellen und wo Sie es rendern.
Tags und Links django javascript jquery ckeditor