[英]Django returning 500 on POST request
So, I have this simple contact form, which Django handles by sending e-mails to me and to the person who contacted us.所以,我有这个简单的联系表,Django 通过向我和联系我们的人发送电子邮件来处理它。 I've written an AJAX funcion to handle it.我已经编写了一个 AJAX 函数来处理它。 The only thing is that, no matter what I try, I keep getting an 500 status.唯一的问题是,无论我尝试什么,我都会获得 500 的状态。
My Django (1.11) code:我的 Django (1.11) 代码:
def contato(request):
if request.method == 'POST':
name = request.POST['name']
email = request.POST['email']
phone = request.POST['phone']
message = request.POST['message']
newmessage = "Mensagem recebida de {}.\nTelefone: {}\ne-mail {}\n {}".format(name, phone, email, message)
send_mail(
'Nova mensagem pelo site',
newmessage,
'PLACEHOLDER@EMAIL',
['PLACEHOLDER@EMAIL'],
fail_silently=False
)
send_mail(
'Recebemos sua mensagem!',
'Olá, {}!\nRecebemos sua mensagem e entraremos em contato em breve.'.format(name),
'PLACEHOLDER@EMAIL',
[email],
fail_silently=False
)
return HttpResponse()
And here's my AJAX request:这是我的 AJAX 请求:
form.addEventListener("submit", function(event) {
event.preventDefault();
let dadoscontato = {
name: name.value,
email: email.value,
phone: phone.value,
message: message.value,
csrfmiddlewaretoken: document.getElementsByName('csrfmiddlewaretoken')[0].value
};
fetch('/contato/', {
method: 'POST',
credentials: 'same-origin',
headers: {
"X-CSRFToken": getCookie("csrftoken"),
"Accept": "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify(dadoscontato),
})
.then(function(response){
console.log(response)
return response.json();
})
.then(function(response){
alert('Mensagem enviada com sucesso!');
});
});
Just to mark this question as solved:只是为了将此问题标记为已解决:
I had to run a .decode()
while loading the response.我必须在加载响应时运行.decode()
。 Everything works fine now.现在一切正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.