Я получаю сообщение «Метод не разрешен (POST)», когда отправляю сообщение ajax. Он даже не доходит до первой проверки request.method == 'POST'.
Я уже проверил все, что мог придумать, но до сих пор не могу понять ошибку, возможно, это что-то нелепое.
Уже пробовал отправить форму напрямую через действие ' атрибут, указывающий на тот же URL-адрес, с методом POST, и я получаю ту же ошибку.
Есть мысли/предложения?
Мой URL:
url(r'^crear_familiar/$', familiar_create, name='crear_familiar'),
Мой ajax:
var url = "{% url 'crear_familiar' %}";
$.ajax({
type: "POST",
url: url,
data: $("#familiarForm").serialize(),
success: function (data) {
console.log(data, 'SUCCESS');
location.reload();
},
error: function (data) {
console.log('ERROR', data);
}
});
Мое мнение:
def familiar_create(request):
if request.method == 'POST':
familiar_form = FamiliarForm(request.POST, prefix='familiar')
if familiar_form.is_valid():
familiar = familiar_form.save(commit=False)
familiar.save()
message = 'Has creado un nuevo familiar'
if request.POST['familiar_familia']:
familia_id = request.POST['familiar_familia']
familia = Familia.objects.get(id=familia_id)
tipo_familiar_id = request.POST['fhf-tipo_familiar']
tipo_familiar = TipoFamiliar.objects.get(id=tipo_familiar_id)
familiar_assignment = FamiliaHasFamiliar(
familia=familia,
familiar=familiar,
tipo_familiar=tipo_familiar
)
familiar_assignment.save()
message = 'Has creado un nuevo familiar y le has asignado una familia'
status = 200
else:
message = 'Ocurrió un error al crear al familiar'
status = 500
return JsonResponse({'status': 'false', 'message': message},
status=status)
else:
print 'GET'
return JsonResponse(
{'status': 'false', 'message': 'Wrong request'},
status=500
)
Форма:
{% csrf_token %}
{{ familiar_form.nombre.label }}:
*
{{ familiar_form.nombre|add_class:"form-control required" }}
{{ familiar_form.apellidos.label }}:
*
{{ familiar_form.apellidos|add_class:"form-control required" }}
Submit
Подробнее здесь: https://stackoverflow.com/questions/449 ... lowed-post