друзья, я пытаюсь справиться формы представления с использованием Ajax в Джанго. Я получаю эту ошибку, которая говорит,HttpResponse ошибка во время запроса Ajax пост в Джанго
The view auths.change_profile.change_username didn't return an HttpResponse object. It returned None instead.
Вот мой change_profile.py
def change_username(request):
if request.is_ajax() and request.method == 'GET':
return render(request,"auths/edits/edit_username.html",{})
elif request.method == 'POST' and request.is_ajax():
username = request.POST['username']
user = User.objects.get(username=request.user.username)
user.username = username
user.save()
if user.save():
data = "Username successfully updated"
else:
data = "Something went wrong!"
return HttpResponse(json.dumps({'data':data}), content_type="application/json")
и мой ajax.js выглядит следующим образом
$(document).ready(
$('#username_form').submit(function(){
$.ajax({
type:"POST",
url:'/change_username/',
data:{
'csrfmiddlewaretoken':$('input[name=csrfmiddlewaretoken]').val()
},
success:function(data){
$('#username').html(data);
}
});
});
);
Где я буду неправильно?
Я думаю, что вы должны изменить порядок ваших оригинальных 'if' заявления. Технически, запрос является ajax, поэтому он вернет первый оператор if. Он не будет выполнять второй. Это мое мнение. Попробуйте поставить там 'print' заявление для проверки. – jape
Я добавил проверку на запрос GET, но все же я получаю ту же ошибку. Хотя GET отлично справляется с ajax, есть эта проблема с POST – amankarn
Какую версию Django вы используете? – jape