Не получается создать через модальное окно запись в бд.
Есть
home.html
<li><a href="#" id="form" data-toggle="modal" data-target="#formModal">Add</a></li>
<!-- Modal -->
<div class="modal fade" id="formModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3 class="modal-title"></h3>
</div>
<div class="modal-body">
</div>
</div>
</div>
</div>
<!-- END -->
Js
$(function(){
function getCookie(name) {
var cookieValue = null;
if(document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for(var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
if(cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
$.ajaxSetup({
global: true,
beforeSend: function(xhr, settings) {
if(!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
xhr.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded; charset=UTF-8');
}
}
});
$('#form').click(function () {
$.ajax({
type: 'POST',
url: '/addcat/',
async: false,
success: function(forma) {
$('.modal-title').text('Categor');
$('.modal-body').html(forma);
}
});
});
$('#submit').click(function () {
ma = $('.modal-body input,textarea ')
$.ajax({
type: 'POST',
url: '/addcat/',
async: false,
success: function(forma) {
location.reload(true);
},
date: {
name :$('#id_name').val(),
text:$('#id_text').val(),
alias:$('#id_alias').val(),
csrfmiddlewaretoken:$('input[name = csrfmiddlewaretoken]').val()
},
error: function(xhr, textStatus, error){
console.log(xhr.statusText);
console.log(textStatus);
}
});
});
});
addcat.html
<form id='form_id' method='POST' action='' name="person">{% csrf_token %}
<div class="modal-body">
{{form.as_p}}
</div>
<div class="modal-footer">
<input type="submit" value="submit" id= 'submit' class="btn btn-default"/>
</div>
</form>
views.py
def addcat(request):
form = Add_CategoryWorks(request.POST or None)
if form.is_valid():
instance = form.save(commit=False)
instance.save()
context = {
'form':form,
}
return render(request, 'addcat.html', context)
и urls.py
url(r'^addcat/$', portfolio.views.addcat, name='addcat')
Если перейти по ссылке к /addcat/ то все добавляться нормально. Если через модальное окно а адрес в этом случае остается home.html то не создается ничего( как правило выходит 403 ). Мне кажется что это из-за того что я тяну ажексом страницу /addcat/ в свою базовю страницу, при этом доступ получаю через POST запрос, почему тогда не получается после сохранить?