views.py
class AddQuestion(SuccessMessageMixin,CreateView):
model = Questions
template_name = 'blog/add_question.html'
form_class = QuestionForm
success_msg = 'Вопрос упешно добавлен'
success_url = reverse_lazy('home')
context_object_name = 'form'
def get_success_url(self):
return reverse('question', args=(self.object.id,))
def post(self,request, *args, **kwargs):
form = QuestionForm(request.POST)
if form.is_valid():
if request.method == 'POST':
self.object = form.save(commit=False)
self.object.author = self.request.user
self.object.save()
return super().form_valid(form)
шаблон
<form action="" method="post" enctype="multipart/form-data" >
<label>{{form.q_name.label}}:</label> <p>{{ form.q_name }}</p>
<label>{{form.tags.label}}:</label> <p>{{ form.tags }}</p>
<label>{{form.q_text.label}}:</label> <div id="editor"><p>{{ form.q_text }}</p></div>
<label>{{form.difficult.label}}:</label> <p>{{ form.difficult }}</p>
<div class="form-error">{{ form.q_text.errors }}</div>
{% csrf_token %}
{% if update_button %}
<p><input type="submit" value="Обновить вопрос"></p>
{% else%}
<input type="hidden" id="hidden-input" name="hidden-input">
<p><input type="submit" id="submit-button" value="Отправить"></p>
{% endif%}
</form>
<script>
document.getElementById("submit-button").addEventListener("submit", function(){
var editorData = CKEDITOR.instances.editor.getData();
document.getElementById("hidden-input").value = editorData;
});
</script>
<!-- далее скрипт ckeditor-->
Нажимаю на кнопку 'отправить' и ничего не происходит
По идеи данные извлекаются из ckeditor и сохр в
hidden-input
я же должен во view найти поле
submit-button
с помощью
request.POST.get('submit-button', None)
, но я не понимаю, как это точно сделать