Python3.5 学习二十
学会用三种方法检索数据
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 学习二十的更多相关文章
- Python3.5 学习二十四
本节课程大纲: -------------------------------------------------------------------------------------------- ...
- Python3.5 学习二十二
回顾: 发送请求时:发送请求头和请求数据 request.META和request.request.body 响应请求时:响应头和响应返回数据 response.HEADER和response.bod ...
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法
python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...
- python3.4学习笔记(十六) windows下面安装easy_install和pip教程
python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- python3.4学习笔记(十) 常用操作符,条件分支和循环实例
python3.4学习笔记(十) 常用操作符,条件分支和循环实例 #Pyhon常用操作符 c = d = 10 d /= 8 #3.x真正的除法 print(d) #1.25 c //= 8 #用两个 ...
随机推荐
- win32 注册表操作
创建键 RegCreateKeyEx int SetRecordVideoSavedDays(int newSavedDays) { HKEY hSubKey = NULL; LONG lRet = ...
- 简单rmi示例
User类 注意:需要实现序列化 package study.rmi.server; import java.io.Serializable; public class User i ...
- Eventlog Analyzer日志管理系统、日志分析工具、日志服务器的功能及作用
Eventlog Analyzer日志管理系统.日志分析工具.日志服务器的功能及作用 Eventlog Analyzer是用来分析和审计系统及事件日志的管理软件,能够对全网范围内的主机.服务器.网络设 ...
- 更好的转换规则(深入理解c#)
从任何类型”转换成他本身“被认为好于“转换成一个不同的类型”,这个规则称为“更好的转换”规则.
- Servlet------EL表达式
EL表达式是: Expression Language.一种写法非常简介的表达式.语法简单易懂,便于使用..获取作用域的数据.... 对比: 传统方式获取作用域数据: 缺 ...
- 2018.10.23 hdu2476String painter(区间dp)
传送门 一道挺妙的区间dp. 我们先用区间dp求出第一个串为空串时的最小代价. 然后再加入原本的字符更新答案就行了. 代码: #include<bits/stdc++.h> using n ...
- AI学习经验总结
我的人工智能学习之路-从无到有精进之路 https://blog.csdn.net/sinox2010p1/article/details/80467475 如何自学人工智能路径规划(附资源,百分百亲 ...
- C++STL queue
queue队列 先进先出 queue<int> q1; q1.push();//插入元素 q1.front();//求队头元素 q1.pop();//删除队头元素 q1.empty();/ ...
- vs2015转到定义没反应
开始菜单 -->所有程序-->Visual Studio 文件夹 --> Visual Studio Tools -->VS2015开发人员命令提示输入DOS命令: CD Co ...
- CodeForces 946D Timetable (DP)
题意:给定 n,m,K,表示某个人一个周有 n 天,每天有 m 节课,但是他可以跳过 K 节课,然后下面每行一个长度为 m 个01字符串,0 表示该人在这一小时没有课,1 表示该人在这一个小时有课,每 ...