models.py文件

from django.db import models

class User(models.Model):
username=models.CharField(max_length=32)
age=models.IntegerField()
gender_choices=(
(1,'male'),
(2,'female'),
(3,'other')
)
gender=models.IntegerField(choices=gender_choices) urls.py文件 urlpatterns=[
url(r'^admin/', admin.site.urls),
#首页
url(r'^$',views.home) ] settings.py文件 STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static')
] #另外注释csrf中间件 views.py文件 from django.shortcuts import render
from app01 import models
import time
from django.http import JsonResponse '''
如果是ajax进行前后端交互,
通常后端会返回给ajax一个字典 '''
def home(request):
'''
思路整理:
前提:
查询出User表中全部数据
locals()提交全部数据到home.html页面
前端页面请求到后端以后:
1.先判断是不是ajax请求
2.是ajax请求的,返回字典:{'code':1000,'msg':''}
3.获取删除数据对应的id值
4.设置页面睡眠3秒钟
5.执行删除
6.然后给back_dic字典中的msg做赋值操作,数据已经删除
7.通过Jsonresponse把back_dic 字典返回给前端页面 '''
#代码如下:
if request.is_ajax():
back_dic={'code':1000,'msg':''}
delete_id=request.POST.get('delete_id')
time.sleep(3)
models.User.objects.filter(pk=delete_id).delete()
back_dic['msg']='数据已经被我删除掉了'
return JsonResponse(back_dic) user_queryset=models.User.objects.all()
查询出User表中的全部数据
return render(request,'home.html',locals())
返回所有数据到home.html页面上 homt.html文件 '''
首先动态配置静态文件
其次配置bootstrap文件和sweetalert文件的样式js和cs
'''
{% load static %}
<link rel='stylesheet' href='{% static 'boot3.7/css/boot.min.css' %}'>
<script src='{% static 'boot3.7/js/boot.min.js' %}'></script> <link rel='stylesheet' href='{% static 'dist/sweetalert.css' %}'>
<script src='{% dist/sweetalert.min.js %}'></script>
<style>
div.sweet-alert h2{
padding:10px
}
</style> <div class='container-fluid'>
<div class='row'>
<div class='col-md-8 col-md-offset-2'>
<h2>首先展示</h2>
<br>
<table class='table table-hover table-bordered table-striped'>
<thead>
<tr>
<th>序号</th>
<th>用户名</th>
<th>年龄</th>
<th>性别</th>
<th class='text-center'>操作</th>
</tr>
</thead>
<tbody>
{% for userobj in user_queryset %}
<tr>
<td>{{forloop.counter}}</td> #计数
<td>{{userobj.username}}</td>
<td>{{userobj.age}}</td>
<td>{{userobj.get_gender_display}}</td>
固定用法获取gender,_display会自动加括号,所以此处display后面不能有括号 <td class='text-center'>
<a href='#' class='btn btn-primary btn-sm'>编辑</a>
<a href='#' class='btn btn-danger btn-sm cancel userId={{userobj.pk}}'>删除</a>
</td>
</tr> {% endfor %} </tbody>
</table>
</div>
</div>
</div> 给删除绑定一个点击事件
<script>
为删除添加一个绑定事件,利用cancel来指定删除事件
$('.cancel').click(
function(){
朝后端发送ajax请求,如何拿到当前按钮所对应的数据的主键值id?
先把$btn单独先存储起来,老师的思路是,添加自定义属性userId={{userobj.pk}}获取pk的值
var $btn = $(this)
swal({
title: "Are you sure?",
text: "You will not be able to recover this imaginary file!",
type: "warning",
showCancelButton: true,
confirmButtonClass: "btn-danger",
confirmButtonText: "Yes, delete it!",
cancelButtonText: "No, cancel plx!",
closeOnConfirm: false,
closeOnCancel: false,
showLoaderOnConfirm: true
},
function (isConfirm) {
if (isConfirm) {
//朝后端发送ajax请求
$.ajax({
url:'',
type:'post',
data:{'delete_id':$btn.attr('userId')}
//$btn指代当前被点击删除的按钮,$btn.attr指代当前删除按钮对应的属性,删除数据所对应的pk值
success:function(data){
if (data.code==1000){
swal('猪脑泡泡龙','删了','success')
//通过DOM操作,来直接操作标签,删除对应的数据
//当前标签点父级标签点父级标签点移除
$btn.parent().parent().remove()
}else{
swal('有bug','未知错误','warning')
}
} }) } else {
swal("Cancelled", "Your imaginary file is safe :)", "error");
}
}); } ) </script>

django基础之day08,ajax结合sweetalert的使用的更多相关文章

  1. {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)

    Django基础七之Ajax 本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 一 Ajax简介 ...

  2. {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)

    {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)   Django基础七之 ...

  3. day 72 Django基础七之Ajax

    Django基础七之Ajax   本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 六 同源策略与 ...

  4. day 60 Django基础七之Ajax

      Django基础七之Ajax   本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 六 同源策 ...

  5. Django基础五之Ajax

    Django基础五之Ajax 目录 Django基础五之Ajax 1. Ajax介绍 2. Ajax前后端传值 2.1 方法一HttpResponse直接返回 2.2 方法二使用Json格式返回 2. ...

  6. Django中数据传输编码格式、ajax发送json数据、ajax发送文件、django序列化组件、ajax结合sweetalert做二次弹窗、批量增加数据

    前后端传输数据的编码格式(contentType) 提交post请求的两种方式: form表单 ajax请求 前后端传输数据的编码格式 urlencoded formdata(form表单里的) ja ...

  7. Django基础七之Ajax

    一 Ajax简介 1.简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”.即使用Javascript语言与服务器进行异 ...

  8. 09.Django基础七之Ajax

    一 Ajax简介 1.简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是"异步的Javascript和XML".即使用Javascrip ...

  9. django基础知识之Ajax:

    使用Ajax 使用视图通过上下文向模板中传递数据,需要先加载完成模板的静态页面,再执行模型代码,生成最张的html,返回给浏览器,这个过程将页面与数据集成到了一起,扩展性差 改进方案:通过ajax的方 ...

随机推荐

  1. PHP安全之道学习笔记1:PHP项目安全设置

    在全球范围来看,超过了80%的网站是使用php进行搭建的,由于脚本语言和早期版本设计的诸多原因,php项目存在不少安全隐患.从配置选项来看,可以做如下的优化. 1.屏蔽PHP错误输出. 在/etc/p ...

  2. Django--导出项目依赖库requirements.txt

    虚拟环境下: 1.导出项目依赖库: pip freeze > requirements.txt 2.使用 pip 一次性安装项目的所有依赖项,方法是在命令行中输入:  pip install - ...

  3. logistic回归介绍以及原理分析

    1.什么是logistic回归? logistic回归虽然说是回归,但确是为了解决分类问题,是二分类任务的首选方法,简单来说,输出结果不是0就是1 举个简单的例子: 癌症检测:这种算法输入病理图片并且 ...

  4. YoungLots Team - Record a software installation

    一.写在最前 本文记录安装或配置以下软件或环境的过程:VScode,Xampp,navicat,PHP,html,CSS,SQL,JavaScript. 作者使用的环境:浏览器:Google Chro ...

  5. .NET Core开发的iNeuOS工业互联网平台,发布 iNeuDA 数据分析展示组件,快捷开发图形报表和数据大屏

    目       录 1.      概述... 2 2.      演示信息... 2 3.      简单介绍... 3 4.      产品特点... 4 5.      价值体现... 5 1. ...

  6. Kubernetes权威指南 第一章:Kubernetes入门

    Kubernetes是什么 官网 https://kubernetes.io/ 中文版:https://kubernetes.io/zh/ Kubernetes是谷歌十几年大规模容器管理经验的成果 是 ...

  7. MySQL5.7.18自动化安装脚本

    背景 很好的朋友邱启明同学,擅长MySQL,目前任职某大型互联网业MySQL DBA,要来一套MySQL自动安装的Shell脚本,贴出来保存一些. 此版本为 MySQL 5.7.18 ###### 自 ...

  8. PHP页面跳转三种实现方法

    一.header()函数 header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器.header()函数的定义如下 ...

  9. 【BZOJ2190】【Luogu P2158】 [SDOI2008]仪仗队

    前言: 更不好的阅读 这篇题解真的写了很久,改了又改才成为这样的,我不会写题解但我正在努力去学,求通过,求赞... 题目: BZOJ Luogu 思路: 像我这样的数论菜鸡就不能一秒切这题,怎么办呢? ...

  10. 在文件夹下所有文件中查找字符串(linux/windows)

    在linux下可以用 grep "String" filename.txt#字符串 文件名grep -r "String" /home/#递归查找目录下所有文件 ...