• django基础


    django小白必会三板斧

    HttpResponse:返回字符串
    	render:返回html并且支持模板渲染
    	redirect:重定向
    		既可以重定向到别人的网址也可以定向到自己的
    
    注意:1.路由访问如果不加斜杠 会内部自动重定向加斜杠的路由
    

    问题

    redirect重指向会多一个uri
    Django可能会在更改后自动重启更新
    form表单中的action?为什么一定是POST方式提交
    
    

    建表

    ##建库的时候一定要指定utf
    truncate classes
    insert into classes (name) values ('一班')
    
    
    班级表:
    	
    	classes:
    		classes:
    
    			id    name   
    			1      脱产8期
    
    		create table classes(
    			id  int primary key auto_increment,
    			name varchar(32) not null default ''
    		)engine=Innodb charset=utf8;
    
    		insert into classes (name) values ('脱产8期'), ('脱产九期'),('脱产10期');
    学生表:
    
    students
    
    	id   name   class_id
    	1    zekai   2
    
    	create table students (
    		id int primary key auto_increment,
    		name varchar(32) not null default '',
    		class_id int not null default 1,
    		foreign key (class_id) references classes(id)
    	)engine=Innodb charset=utf8;
    
    	insert into students (name, class_id) values ('季宇志', 1),('罗文', 2),('谢增城', 1);
    
    teacher:
    	
    
    	create table teacher (
    		id int primary key auto_increment,
    		name varchar(32) not null default ''
    	)engine=Innodb charset=utf8;
    
    	insert into teacher (name) values ('zekai'), ('eagon'),('lxx');
    
    
    teacher2class:
    
    	create table teacher2class (
    		id int primary key auto_increment,
    		tid int not null default 1,
    		cid int not null default 1
    	)engine=Innodb charset=utf8;
    
    	insert into teacher2class (tid, cid) values (1,1), (1,2),(2,1),(2,2);
    
    window.confirm('是否确认删除?')---弹出框
    
    requset.POST获得的是一个字典:
    {'user':['ww'],'pwd':['dd']}
    key值为input中的name属性的值,ww(值)是用户提交的输入的内容
    使用requset.POST.get('user')能够直接取到'ww',可以忽略[],如果'ww'所在列表中有不止一个元素,则默认获取最后一个.
    

    作业day59

    作业在第二个视频
    
    
    

    取值和属性

    $('#teachername').val()}
    $(this).attr('val')
    
    取得最后一个div前面所有的div,并且给他们
    $("div:last").prevAll().addClass("before");
    
    
    赋值:
     $('#ajaxclassname').val(classname);
     $('#clasid').val(classid);
    取值:
    var classname = $('#ajaxclassname').val();
    var clasid = $('#clasid').val();
    
    ajax获取输入数据和id的方法,新url的获取方式?
    为什么要加lastrowid
    bootstrop里面table?
    

    7.13周六

    各种提交数据取值方法

    form表单

    input / select+option提交

    <form action="/add_student/" method="post">
        学生名称: <input type="text" name="sname">
        #input:通过name属性对应的值'sname'作为key,用户输入的内容作为value,后台通过request.POST.get('sname')获得用户输入的名字
        
        班级名称:
        <select name="classid" id="">
           {% for item in classes %}
               <option value="{{ item.id }}">{{ item.name }}</option>
         #select:通过name属性对应的值'classid'作为key,用户选择的item.name会有对应属性value的值作为value,以
    例:<QueryDict: {'sname': ['张帆'], 'cid': ['3']}> ({'classid':'item.id'})
    
    注意:所以input和select的name属性的值不能相同(都会传到后台),否则后台requset.POST.get()默认取最后一个.
    
         传给后台,后台通过request.POST.get('classid')获得用户选择的班级id
           {% endfor %}
        </select>
        <input type="submit"  value="提交">
    </form>
    
    复习mysql
    为已经建好的mysql表单添加unique或者外键时,和添加一般列的方法一样,例如:alter table  teacher2class add  unique index(tid,cid);
    
    注意:  一般操作表时,只有在更改表结构或者属性是才需要在表名前加table关键字,例如:删除表(drop table xxx 添加删除新列,或更改原有列的属性)
    constraint fk_userinfo_depart foreign key (depart_id) references department(id),若是建表之后添加,则加上alter table 外键表 add即可
    
    alter table teacher2class add constraint fk_t2c_teacher foreign key (tid) references teacher(id) on update cascade--级联更新,可选 on delete cascade--级联删除;
    
    on update cascade--级联更新,可选 on delete cascade--级联删除;这两个在navicat里面设置比较方便
    

    连表

    https://jingyan.baidu.com/article/f3e34a12f05bfaf5ea65354a.html

    sweetalert导入
    <link href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css" rel="stylesheet">
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js"></script>
    

    定制自己的通用模板

    //定义模版 (可多次使用)
    var MyBox = Swal.mixin({
        toast: true,
        position: 'top-end',
        showConfirmButton: false,
        timer: 3000
    });
    
    //调用
    MyBox.fire({
        type: 'success',
        title: 'successfully'
    });
    
    a标签直接向函数传值
    <a href="/up_students/?sid={{ item.sid }}">更改</a>
    问号拼接,sid作为key,{{ item.sid }}作为value
    后台以request.GET.get('sid')的方式获得{{ item.sid }}
    
    注意:如果传递多个值,用&连接即可,例如:
    <a href="/up_class/?id={{ item.id }}&pwd=123432">更新</a>
    

    是否删除模板

    swal({
    			title:"是否删除",
    			text:"",
    			type:"warning",
    			showCancelButton:true,//是否显示取消按钮
    			cancelButtonText:'取 消',//按钮内容
    			cancelButtonColor:'#b9b9b9',
     
    			showConfirmButton:true,
    			confirmButtonText:'确 认',
    			confirmButtonColor:"#dd6b55",
     
    			closeOnConfirm:false,//点击返回上一步操作
    			closeOnCancel:true
    		},function(){//正确按钮进行的操作点
    			$.ajax({
    				url: './test.json',
    				type: 'post',
    				dataType: 'json',
    				data: {"id": $('#inp').val()},
    			})
    			.done(function(res) {
    				if (!$('#inp').val()) {
    					swal("输入内容哦……");
    					return;
    				}
    				if (res.status == '000') {
    					swal('删除成功','请继续操作','success');
    					return;
    				}else{
    					swal('删除失败','','error');
    				}
    				// console.log("success");
    			})
    			.fail(function() {//连接服务器失败进行的操作
    				console.log("error");
    			})
    			.always(function() {
    				console.log("complete");
    			});
    			
    		});
    
    
  • 相关阅读:
    Git远程库
    Git的使用
    如何利用IO流复制文件
    Lambda表达式
    Lambda表达式的标准格式
    线程池的使用步骤
    解决线程安全的三个方法
    多线程
    位运算
    如何用javadoc生成java帮助文档
  • 原文地址:https://www.cnblogs.com/luowenConnor/p/11191443.html
Copyright © 2020-2023  润新知