Эта модель формы не сохраняется при отправке ajax django
Мне нужно, чтобы эта форма была отправлена, но она не отправляется. Я взял код ajax из сети. Я не знаю ajax или что-то еще, но я готов изучить ajax или j query, если это действительно необходимо. Шаблон (только основные биты):
<form method="post" class="Comment_Form" id="Comment_Form">
{% csrf_token
<div class="comment_builder">{{ comment|materializecss }}</div>
<button class="btn waves-effect waves-light btnw" type="submit" name="submit" value="
{{ Img.id }}" id="submit">Comment<i class="material-icons right">send</i>
</button>
</form>
<script src="https://code.jquery.com/jquery-3.5.1.js"
integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
crossorigin="anonymous">
</script>
<script type="text/javascript">
$( "form" ).on( "submit", function(e) {
const dataString = $(this).serialize();
const the_effing_id = $('#submit').val();
$.ajaxSetup({
beforeSend: function(xhr, settings) {
function getCookie(name) {
let cookieValue = null;
if (document.cookie && document.cookie !== '') {
const cookies = document.cookie.split(';');
for (let i = 0; i < cookies.length; i++) {
const cookie = jQuery.trim(cookies[i]);
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
}
}
});
$.ajax({
type: "POST",
url: "{% url 'Home' %}",
contentType: 'application/json; charset=UTF-8',
dataType: 'json',
data: {
dataString,
'the_effing_id':the_effing_id,
csrfmiddlewaretoken: '{{ csrf_token }}',
},
success: function () {
alert("Saved")
}
});
e.preventDefault();
});
</script>
Код модели:
class Comment(models.Model):
not_post_method_ok = models.ForeignKey(Meme, on_delete=models.CASCADE, default=1)
op = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, default=1)
comment = models.TextField()
date_added = models.DateTimeField(auto_now_add=True)
Пожалуйста, прокомментируйте, если вам нужно больше кода Большое спасибо