一、初始Ajax

 ajax的写法:

$.ajax({
url:'/host',
type:'POST'
data:{'k1':123,'k2':'root'}
success:function(data){ }#执行成功后自动触发这个函数 })

  

ajax的使用:

#在JavaScript中写jquery
$('#ajax_submit').click(function(){
$.ajax({
url:'/ajax_text',
type:'GET'
data:{'user':'root','pwd':'234'}
success:function(data){
alert(data)
}#执行成功后自动触发这个函数 })

  

一些注意的地方:

			在JavaScript中将字符串转换为对象:
JSON.parse(data)
对象转化为字符串:
JSON.stringfy(data) 建议:永远让服务端返回一个字典
return HttpResponse(json.dumps(字典)) ajax 将form中的数值打包:
data:$('#add_form').serialize()

  

当数据有列表时,加入traditional
加入dataType 可以自动将字符串转换为json对象形式

		$.ajax({
url:'/host',
type:'POST'
data:{'k1':123,'k2':[1,2,3]}
dataTpye:json
traditional:True
success:function(data){ }#执行成功后自动触发这个函数
error:function(){}#未知错误时 })

  

二、多对多

  创建多对多:

方式一:自定义关系表
class Host(models.Model):
nid = models.AutoField(primary_key=True)
hostname = models.CharField(max_length=32) class Application(models.Model):
name = models.CharField(max_length=32) class HostTOApp(models.Model):
hobj = models.ForeignKey(to='Host',to_field='nid')
aobj = models.ForeignKey(to='Application',to_field='id')
方式二:自动创建关系表
class Host(models.Model):
nid = models.AutoField(primary_key=True)
hostname = models.CharField(max_length=32) class Application(models.Model):
name = models.CharField(max_length=32)
r = models.ManyToManyField('Host')

  

操作:

1.
HostTOApp.objects.create(hobj_id = 1, aobj_id = 2) #但是自动创建的无法直接对第三张表进行操作 2.
添加:
obj = Application.objects.get(id=1)
obj.r.add(1)
obj.r.add(2,3)
obj.r.add(*[1,2,3,4])
删除:
obj.r.remove(1)
obj.r.remove(2,3)
obj.r.remove(*[1,2,3,4]) obj.r.clear() 更新数据
obj.r.set([3,5,7]) 获取所有相关应用的主机列表:
obj.r.all() queryset 对象

  

网页编程-Djiango(二)的更多相关文章

  1. Javascript模块化编程(二):AMD规范

    Javascript模块化编程(二):AMD规范   作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_d ...

  2. (转)Javascript模块化编程(二):AMD规范

    转自 ruanyifeng 系列目录: Javascript模块化编程(一):模块的写法 Javascript模块化编程(二):AMD规范 Javascript模块化编程(三):Require.js的 ...

  3. 《高性能javascript》 领悟随笔之-------DOM编程篇(二)

    <高性能javascript> 领悟随笔之-------DOM编程篇二 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...

  4. WCF编程系列(二)了解WCF

    WCF编程系列(二)了解WCF   面向服务     服务是复用进化的结果,起初的复用是函数,面向对象编程的出现使复用从函数上升到对象,随后面向组件编程又将复用从对象上升到组件,现在面向服务编程将复用 ...

  5. 转: JavaScript函数式编程(二)

    转: JavaScript函数式编程(二) 作者: Stark伟 上一篇文章里我们提到了纯函数的概念,所谓的纯函数就是,对于相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用,也不依赖外部环 ...

  6. require.js实现js模块化编程(二):RequireJS Optimizer

    require.js实现js模块化编程(二):RequireJS Optimizer 这一节,我们主要学习一下require.js所提供的一个优化工具r.js的用法. 1.认识RequireJS Op ...

  7. shell编程(二)

    第三十二次课 shell编程(二) 目录 十五.shell中的函数 十六.shell中的数组 十七.告警系统需求分析 十八.告警系统主脚本 十九.告警系统配置文件 二十.告警系统监控项目 二十一.告警 ...

  8. 脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?

    1.引言 本文接上篇<脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手>,继续脑残式的网络编程知识学习 ^_^. 套接字socket是大多数程序员都非常熟悉的概念,它是计算机 ...

  9. [Java并发编程(二)] 线程池 FixedThreadPool、CachedThreadPool、ForkJoinPool?为后台任务选择合适的 Java executors

    [Java并发编程(二)] 线程池 FixedThreadPool.CachedThreadPool.ForkJoinPool?为后台任务选择合适的 Java executors ... 摘要 Jav ...

随机推荐

  1. kb-07线段树-08--区间开根

    /* hdu-4027 题目:区间开根求和查询: 因为是开根,所以要更新的话就要更新到叶子节点.如果区间里全是1或是0的话就步用继续更新了,查询的时候正常查询: */ #include<iost ...

  2. NYOJ——301递推求值(矩阵快速幂)

    递推求值 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给你一个递推公式: f(x)=a*f(x-2)+b*f(x-1)+c 并给你f(1),f(2)的值,请求出f(n)的 ...

  3. 算法复习——树形dp

    树形dp的状态转移分为两种,一种为从子节点到父节点,一种为父节点到子节点,下面主要讨论子节点到父亲节点的情况: 例题1(战略游戏): 这是一道典型的由子节点状态转移到父节点的问题,而且兄弟节点之间没有 ...

  4. Java面试题之Java中==和equals()和hashCode()的区别

    “==”: ==是运算符,用来比较两个值.两个对象的内存地址是否相等: “equals()”: equals是Object类的方法,默认情况下比较两个对象是否是同一个对象,内部实现是通过“==”来实现 ...

  5. webpack打包字体图标报错的解决办法

    webpack打包字体图标需要两个加载器  url-loader 和 file-loader 另外  字体图标的引入方式  本来应该是  url("....") 这样的方式,但是w ...

  6. 部署 DevStack

    本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点 创建虚拟机 按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机 安装操作 ...

  7. mysql开发必知必会

    mysql的数据库的数据库,即存储mysql数据库的底层目录,是在/var/lib/mysql目录下(Linux,win在目录下的data中). 我们新创建的数据库db1就是在/var/lib/mys ...

  8. 获取当前网络中的电脑数目及MAC-通过MAC查找IP-通过IP查询机器名

    Microsoft Windows [版本 ] 版权所有 (c) Microsoft Corporation.保留所有权利. C:\Users\Administrator>netsh netsh ...

  9. iOS-tableView上拉加载更多后,界面出现偏移

    问题描述: 在做tableview的界面展示的时候,cell用自动计算高度的.但是在上拉加载更多的时候,数据请求完后,刷新界面,界面的顶部就出现了偏移 分析: 查阅资料后发现,当tableView的c ...

  10. SqlHelper类-全面

    // ===============================================================================// Microsoft Data ...