学会用三种方法检索数据

1、对象方式

2、字典方式

3、元组方式

models后面,如果是.values()  则为字典方式

      如果是value_list()  则为元组方式

跨表操作时,如果是对象,可以用.进行跨表查询字段

      如果用指定列名的字符串方式,则需要用神奇的"__"双下划线来引入跨表字段

详见20180910项目示例

初始Ajax,可以取代form表单提交,主要应用于验证数据

$('#ajax_submit').click(function () {
$.ajax({
url:"/test_ajax/",
type:'POST',
data:{'hostname':$('#hostname').val(),'ip':$('#ip').val(), 'port':$('#port').val(), 'b_id':$('#b_id').val()},
success:function (data) {
if (data == "OK") {
location.reload();
}
else
{
alert(data);
} },
}) }) JQuery内部有很多方法,诸如$.get\$.post\$.getJson等,其内部都是调用的$.ajax方法
本质上是一样的,发请求操作的,推荐使用$.ajax, 补充知识:JSON的序列化和反序列化
前端字符串转对象:JSON.parse()
前端对象转字符串:JSON.stringify()

 

建议使用HTTPresponse+JSON.dumps()返回一个标注格式的字典,便于前端解析JSON格式后进行后续处理

如果用return render,返回一个html,前端无法json解析,没有什么意义

另,ajax无法return一个redirect重定向,请注意!

练习使用ajax进行静态页面的增删改查

数据库的多对多操作:

创建多对多关系一:自定义关系表

方式二:自动创建关系表

用途中:自动创建的方便,但是只能是两个表的关系,加上自身ID,一共有且只有3列,不是很灵活

    自定义的使用灵活

自定义的方式,调用数据表可以用类方式

而自动生成的,需要调用对象的列进行操作,相当于只是对第三张表进行操作了

obj.r.all()  -->  可以获取到相关的host对象的QuestSet”列表“”

补充知识点:ajax操作返回的数据类型的区别:

“**************如果增加一个dataType:‘JSON’,则直接将字符串data转换为obj对象回给用户*********

注意ajax语法和功能点:

Python3.5 学习二十的更多相关文章

  1. Python3.5 学习二十四

    本节课程大纲: -------------------------------------------------------------------------------------------- ...

  2. Python3.5 学习二十二

    回顾: 发送请求时:发送请求头和请求数据 request.META和request.request.body 响应请求时:响应头和响应返回数据 response.HEADER和response.bod ...

  3. python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

  4. python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置

    python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...

  5. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例

    python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...

  6. python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法

    python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...

  7. python3.4学习笔记(十六) windows下面安装easy_install和pip教程

    python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...

  8. python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  9. python3.4学习笔记(十) 常用操作符,条件分支和循环实例

    python3.4学习笔记(十) 常用操作符,条件分支和循环实例 #Pyhon常用操作符 c = d = 10 d /= 8 #3.x真正的除法 print(d) #1.25 c //= 8 #用两个 ...

随机推荐

  1. 【转】VxWorks中高精度实时时钟的实现及C语言汇编混合编程

    最近一个项目中需要在VxWorks下使用一个高精度实时时钟,要求精度为1ms,溢 出时间大于5小时.VxWorks提供系统时钟,该时钟在操作系统启动后开始计数,精度为1个tick,可以通过tickGe ...

  2. Magpie

    https://github.com/LLNL/magpie Magpie contains a number of scripts for running Big Data software in ...

  3. python ui学习过程,使用pyqt5实现

    首先安装pyqt5的包,然后打开notebook就可以编写了.当然这样编写,也可以用designer进行. 它是pyqt5-tools的一个exe软件,\Anaconda3\Lib\site-pack ...

  4. 2018.11.01 NOIP训练 递增数列(迭代加深)

    传送门 直接迭代加深搜索. 发现每次最多增加一倍,最少增加一,于是果断上下界剪枝. 代码

  5. kafka 支持发布订阅

    概述 一般消息队列的是实现是支持两种模式的,即点对点,还有一种是topic发布订阅者模式,比如ACTIVEMQ.KAFKA也支持这两种模式,但是实现的原理不一样. KAFKA 的消息被读取后,并不是马 ...

  6. adb push init.rc /

    http://blog.csdn.net/jumper511/article/details/28856249 修改Android init.rc文件后,需要将修改后的文件上传到手机,但是发下如下问题 ...

  7. 1033 To Fill or Not to Fill

    PAT A 1033 To Fill or Not to Fill With highways available, driving a car from Hangzhou to any other ...

  8. Html5与Css3知识点拾遗(二)

    页面title 选择能简要概括文档内容的文字作为title文字,title核心内容放在前60个字符 分级标题 1.创建分级标题时,避免跳过级别,如h3直接跳到h5,但允许从低级别跳到高级别. 2.不用 ...

  9. Forward团队-爬虫豆瓣top250项目-成员简介与分工

    马壮:擅长html,css,分工:分析网站源码 邢云淇:掌握python,java 分工:爬虫部分代码编写 张良:熟练掌握数据库 分工:数据库部分代码编写 年光宇:掌握c#,python 分工:代码整 ...

  10. java实现把两张图片合并(Graphics2D)

    package com.yin.text; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.i ...