Dayday up ---- python Day20

Ajax: 

$.ajax({
url: '/host', # 传给后端的url
type: "POST", # 传输方式 type
data: {'k1': 123,'k2': "root"}, # 传到后台的数据 key:value 字典
success: function(data){
// data是服务器端返回的字符串
var obj = JSON.parse(data);
}
})
$.ajax({
url: "/edit_user_ajax",
data: $('#edit_form').serialize(), # 将form中的
type: 'POST',
dataType: "JSON",
traditional: true,
success: function(data){
$('.shade,.add-modal').addClass('hide');
$('.add-modal input[type="text"]').val("");
alert(data);
window.location.reload();
},
error: function(error){
alert(error)
}
})

url:

  为了避免url不匹配,一般在 url后面加上$ 符号

  比如: /index$  加上 $符号

      /index-user$

    这样两个都能匹配到

 

数据库跨表操作

  如: 

row.b 代指了另一张表的一整行数据

 

row.b_id 不跨表

row.b.id 跨表

 

在 objects后面写都是 _ _跨表

字典

 

元组

 

 

html 模板语言

   页面序号:

    forloop.counter 从1开始

    forloop.counter0 从0开始

    forloop.recounter 倒序最后一位为1

    forloop.recounter0 倒序最后一位为0

    forloop.first/last  判断是否是第一或最后

      forloop.parentloop 嵌套循环父数据

数据库操作多对多:

  创建多对多:

    方式一: 自定义关系表

      class HostToApp(models.Model):

        hobj = models.ForeignKey(to="Host",to_field="nid")

        aobj = models.ForeignKey(to="Application",to_field="id")

    方式二: 自动创建关系表

      r = models.ManyToManyField("Host")

   自动创建关系表,最多只能创建3列,而且无法直接对第三张表进行操作

   如:

    obj = Application.objects.get(id=1)

    obj.name

    # 第三张表操作

    obj.r.add(1)

    obj.r.add(2,3,4)

    obj.r.add(*[1,2,3,4])

 

    obj.r.remove(1)

    obj.r.remove(2,3,4)

    obj.r.remove(*[1,2,3])

 

    obj.r.clear()  清除application_id=1 有关行

    obj.r.set([3,5,7]) r表中application_id=1只剩下3、5、7

    obj.r.all()  query-set 拿到的是host对象

 

posted @ 2017-01-03 15:25  a_monologue  阅读(64)  评论(0)    收藏  举报