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对象

浙公网安备 33010602011771号