有些情况下网页需要动态生成,获取数据不通过发送请求页面,而是通过ajax请求回来json数据。
1 在models.py创建User

2 创建ajaxuser.html页面

创建js文件sunck.js
$(document).ready(function () {
$("#btn").bind("click",function () {
$.ajax({
type:"get",
url:"/ajaxdata/",
dataType:"json",
success:function (data,status) {
console.log(data)
}
})
})
});

3 解析器urls.py创建url

4 创建模型User
class User(models.Model):
name = models.CharField(max_length=128,unique=True)
# position = models.CharField(max_length=128)
password = models.CharField(max_length=256)
email = models.EmailField(unique=True)
c_time = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.name
class Meta:
ordering = ['c_time']
verbose_name = '用户'
verbose_name_plural = '用户'

插入几条数据

5 创建视图ajaxuser和ajaxdata
def ajaxuser(request):
return render(request,"myApp/ajaxuser.html")
def ajaxdata(request):
users = User.objects.all()
list = []
for user in users:
user_info = {
'name': user.name,
'password': user.password,
'email': user.email,
}
list.append(user_info)
user_dic = {}
user_dic['data'] = list
return JsonResponse(user_dic)

6 启动服务器运行
python manage.py runserver

点击按钮

本文档展示了如何在Django中通过Ajax获取并显示User模型的数据。首先在models.py创建User模型,接着创建ajaxuser.html页面和对应的JavaScript文件sunck.js,设置Ajax请求获取JSON数据。然后在urls.py配置URL,views.py中定义视图函数返回用户数据。最后启动服务器并测试,当点击按钮时,数据将动态加载到页面。
6477

被折叠的 条评论
为什么被折叠?



