Django有强大的form功能,但是跟着教程操作发现这就不是响应式页面了,作为一个从js入门的小白自然无法接受这种违背js精神的事情发生所以就毅然决然地放弃了Django自带的form功能,使用ajax与Django后台进行通讯。
1. 浏览器使用ajax与服务器通讯
$.post('url',input_data,function (data) {
var res_data = JSON.parse(data);
alert(res_data)
})
2.服务器接收信息作出反应
def register_action(request):
if request.method == "POST":
data_name = request.POST.get('username', '')
data_password = request.POST.get('password', '')
user_pro = User.objects.filter(username=data_name)
if user_pro:
state_pro = '用户名已存在'
print(state_pro)
else:
user = User.objects.create_user(username=data_name, password=data_password)
user.save
state_pro = 'saved'
return HttpResponse(json.dumps({
"status": state_pro,
"name": data_name
}))
3.js操作html和css
document.getElementById('inputId').value = "";
document.getElementById('pannelId').innerHTML = "";
document.getElementById('pannelId').style = "";
4.csrf_token
$.ajaxSetup({
data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
});
网友评论