html中ajax增删改查,Django中ajax的增删改查访问

Django中ajax的增删改查访问

这里在Django中我们建好模型,通过ajax取渲染页面。

这里给到一个页面show.html

展示所有学生信息

#添加学生

#展示所有学生信息

#更新学生数据

#删除学生数据

页面中有一个获取所有学生信息按钮,一个添加学生信息按钮,前面我们展示了所有的学生信息,这里我们用前端给他进行渲染。

后台那边代码为:

def showStu(request):

if request.method == 'GET':

data= Student.objects.all()

result ={

'result':data

}

return render(request,'show.html',result)

我们将js写在header标签中

$(function () {

$('#showStu').click(function () {

#访问/stu/student/ 返回所有学生信息

$.get('/stu/showStu/', function (msg) {

#给显示的页面加上简单的样式

s = '

ID姓名地址操作

for (var i = 0; i < msg.length; i += 1) {

s += '

' + msg[i].id + '\' + msg[i].s_name + '\' + msg[i].s_tel + '\

#进行当前数据的修改

编辑 |\

#进行当前数据的删除

删除

'

}

s += '

';

$('#div_stus').html(s)

}, 'json');

});

});

删除,当删除时,需要传入你需要删除数据的ID,才能确定你删除的是那一条数据。

function del_stu(i) {

csrf = $('input[name="csrfmiddlewaretoken"]').val();

$.ajax({

url:'/stu/showStu/' + i + '/',

type:'DELETE',

headers :{'X-CSRFToken':csrf},

dataType:'json',

success:function () {

alert('删除成功')

},

error:function () {

alert('删除失败')

}

});

}

方式为delete,显示删除成功,代表成功地删除了数据。

更新,与删除一致,需要传入ID,才能确定你需要传入的是那一条数据。而在添加数据时,也要有相应的输入页面。这里输入页面代码如下:

function update_stu(i) {

s='姓名:\

电话:\

';

#将编辑信息页面样式进行保存

$('#div_update_stus').html(s)

}

更新的ajax如下所示:

function update(i) {

csrf = $('input[name="csrfmiddlewaretoken"]').val();

s_name = $('#s_name').val();

s_tel = $('#s_tel').val();

$.ajax({

url:'/stu/showStu/' + i + '/',

type:'PATCH',

{#headers :{'X-CSRFToken':csrf},#}

dataType:'json',

data:{'s_name':s_name,'s_tel':'s_tel'},

success:function (msg) {

alert('修改成功')

},

error:function (msg) {

alert('修改失败')

}

});

}

更新部分信息用PATCH,这里我们获取到前面编辑页面所输入的信息s_name,s_tel的值,将其传入后端的student路径,即StudentsEdit方法。让数据进行更新,再点击获取所有学生信息,就会看到相对应ID的学生信息有所改变。

添加数据。与更新一样,需要添加数据的页面。因为是创造数据,所以不用传入任何ID。

function add_Stu() {

s='姓名:\

电话:\

';

$('#div_add_stus').html(s)

}

添加的ajax如下所示:

function add() {

csrf = $('input[name="csrfmiddlewaretoken"]').val();

s_name = $('#s_name').val();

s_tel = $('#s_tel').val();

$.ajax({

url:'/stu/showStu/',

type:'POST',

{#headers :{'X-CSRFToken':csrf},#}

dataType:'json',

data:{'s_name':s_name,'s_tel':'s_tel'},

success:function (msg) {

alert('添加成功')

},

error:function (msg) {

alert('添加失败')

}

});

}

方式为POST,这里我们获取到前面编辑页面所输入的信息s_name,s_tel的值,将其传入后端。让后端进行显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现连接虚拟机Django+MySQL并进行增删改查,需要以下步骤: 1. 确保虚拟机Django和MySQL已经正确安装并启动。 2. 在Django创建一个可以进行数据库操作的应用程序,在应用程序创建模型类,定义好需要操作的字段。 3. 在MySQL创建相应的数据库和表,与Django定义的模型类对应。 4. 在Django配置数据库连接,可以在settings.py进行配置。 5. 在Django编写视图函数,实现增删改查功能。 6. 在app编写前端界面,通过ajax等方式调用Django的视图函数进行数据操作。 具体实现过程可以参考以下步骤: 1. 在虚拟机启动Django,并创建一个应用程序,例如命名为myapp。 2. 在myapp创建一个模型类,代码如下: ```python from django.db import models class User(models.Model): name = models.CharField(max_length=20) age = models.IntegerField() ``` 3. 在MySQL创建一个名为mydb的数据库,并在其创建一个名为user的表,代码如下: ```mysql CREATE DATABASE mydb; USE mydb; CREATE TABLE user ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, age INT NOT NULL, PRIMARY KEY (id) ); ``` 4. 在Django的settings.py配置MySQL连接,代码如下: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydb', 'USER': 'username', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '3306', } } ``` 其,username和password需要替换为MySQL的用户名和密码。 5. 在myapp编写视图函数,可以实现增删改查功能,代码如下: ```python from django.shortcuts import render, HttpResponse from .models import User def add_user(request): if request.method == 'POST': name = request.POST.get('name') age = request.POST.get('age') user = User(name=name, age=age) user.save() return HttpResponse('success') def delete_user(request, id): user = User.objects.get(id=id) user.delete() return HttpResponse('success') def update_user(request, id): if request.method == 'POST': name = request.POST.get('name') age = request.POST.get('age') user = User.objects.get(id=id) user.name = name user.age = age user.save() return HttpResponse('success') def get_user(request, id): user = User.objects.get(id=id) return HttpResponse(f'name: {user.name}, age: {user.age}') ``` 其,add_user函数为添加用户,delete_user函数为删除用户,update_user函数为更新用户信息,get_user函数为获取用户信息。 6. 在app编写前端界面,通过ajax等方式调用Django的视图函数进行数据操作。 例如,添加用户的前端界面可以编写如下代码: ```html <form> <label for="name">name:</label> <input type="text" id="name" name="name"><br><br> <label for="age">age:</label> <input type="text" id="age" name="age"><br><br> <input type="submit" value="Submit" onclick="addUser()"> </form> <script> function addUser() { var name = document.getElementById("name").value; var age = document.getElementById("age").value; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == XMLHttpRequest.DONE) { if (xhr.status == 200) { alert('success'); } else { alert('error'); } } } xhr.open('POST', '/add_user/', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send("name=" + name + "&age=" + age); } </script> ``` 其,addUser函数通过ajax调用Django的add_user视图函数,将输入的name和age值传递给Django进行添加操作。 其他操作的前端界面类似,只需要调用不同的视图函数即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值