ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

orm

2019-07-15 21:01:06  阅读:247  来源: 互联网

标签:name val orm key table classes id


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");
            });
            
        });

标签:name,val,orm,key,table,classes,id
来源: https://www.cnblogs.com/luowenConnor/p/11191443.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有