ret

thinkphp ajax请求token无效的问题

心已入冬 提交于 2019-12-06 14:17:16
直接上例子 表单如下 <div class="login-container"> <div class="loginbox bg-white"> <div class="loginbox-title">登录</div> <div class="loginbox-or"> <div class="or-line"></div> </div> <form method="post"> <input type="hidden" name="__token__" value="{$Request.token}" /> <div class="loginbox-textbox"> <input type="text" name="username" class="form-control" placeholder="用户名" /> </div> <div class="loginbox-textbox"> <input type="text" name="password" class="form-control" placeholder="密码" /> </div> <div class="loginbox-textbox"> <input name="captcha" type="text" class="form-control" placeholder="验证码" aria

生成器

淺唱寂寞╮ 提交于 2019-12-05 19:47:35
生成器: 生成器的本质就是迭代器 生成器函数 —— 本质上就是我们自己写得函数 生成器的表现形式 生成器函数 生成器表达式生成器函数: 含有yield关键字的函数就是生成器函数yield不能和return共用且需要写在函数内 特点: 调用函数的之后函数不执行,返回一个生成器 每次调用next方法的时候会取到一个值 直到取完最后一个,在执行next会报错 #生成器函数 : 执行之后会得到一个生成器作为返回值 ret = generator() print(ret) print(ret.__next__()) def generator(): print(1) yield 'a' print(2) yield 'b' yield 'c' g = generator() for i in g: print(i) ret = g.__next__() print(ret) ret = g.__next__() print(ret) ret = g.__next__() print(ret) send send 获取下一个值的效果和next基本一致只是在获取下一个值的时候,给上一yield的位置传递一个数据使用send的注意事项 第一次使用生成器的时候 是用next获取下一个值 最后一个yield不能接受外部的值 def generator(): print('abc') php =

Django中的基于双下划线的连表查询

旧巷老猫 提交于 2019-12-05 15:18:48
前言: 胡斌意淫到了唐朝没实现了一夫一妻制了想法,可是老婆多了,孩子多了就不好查找,这个时候他就跪着找到了华哥哥,请华哥帮忙,华哥打开了电脑在Django中为了实现了多表的跨表查询,为了答谢华哥,他就跪下了,伸出了头,,,,,,,,,, 本节就是讲到基于双下划线的跨表查询(join),华哥是一个很纯洁的人今天就放过胡斌,就拿图书管理系统说话,图书馆管理系统的个表大家需要意淫,就不说了. 基于双下划线的跨表查询(join) 一对一 '一对一' 正向连表,靠属性*************一定记得靠属性 查看'胡斌'(老公)的战场在哪里?******也就是这会出现作者表和作者详情表也就是典型的一对一的查询 ret = models.Husband.objects.filiter(name='胡斌').values(ad__addr)#######ad就是author表中建立的作者表和作者详情表的外键(ad = models.ForeignKey('HusbandDetail',on_delete=models.CASCADE)) print(ret) --------结果肯定是相机前 那我们来看看胡斌的老婆是谁 ret=models.Husband.objects.filiter(name='胡斌').values(ad__wife)#######斌哥虽然女人多

如何写树链剖分

試著忘記壹切 提交于 2019-12-04 11:06:41
树链剖分模板 树链剖分可以把树上的点划分成一条条 连续 的“链”,“链”是一条简单路径,上面的每个点满足祖先后代关系,从根节点到每个点都只需经过最多 \(\log_2n\) 条链。 链上的每一个点 dfs序也是连续的 , 故可以配合其他数据结构解决很多树上查询问题(近乎所有静态树问题) 先定义 siz[u] 为点 u 的子树大小。 int siz[MAXN]; //每个点的子树大小 int dep[MAXN]; //每个点的深度 int mxson[MAXN];//每个点的重儿子 链分为 重链 和 轻链 。 考虑每个点,它只会和它的一个儿子组成链,这个儿子叫做 重儿子 , 其他儿子叫做 轻儿子 。 重儿子满足: siz[mxson[u]] 最大. 第一次dfs: 任务清单: 求出每个节点 u 的 siz[u] , dep[u] , fa[u] 求出每个节点的 重儿子 (注意叶节点没有重儿子!) void dfs1(int u, int faa){ dep[u] = dep[faa] + 1; siz[u] = 1; fa[u] = faa; int mxsiz = 0; for(int e = h[u]; e; e = nxt[e]){ int v = ev[e]; if(v == faa) continue; dfs1(v, u); if(mxsiz < siz[v]) {

选择本地视频时获取视频分辨率和时长

孤街醉人 提交于 2019-12-04 08:04:01
< video style = "display:none;" controls = "controls" id = "aa" > </video> <input type = "file" onchange = "changeFile(this)" > <script> function myFunction(ele) { //视频时长 单位秒 alert(Math.floor(ele.duration)) } document.querySelector('#aa').addEventListener('canplaythrough', (ret) => { if (ret.path && ret.path[0].duration) { console.log(ret.path[0].duration) } else if (ret.target && ret.target.duration) { console.log(ret.target.duration) } }) function changeFile(ele) { var video = ele.files[0]; var url = URL.createObjectURL(video); console.log(url); document.getElementById("aa").src = url; } <

线段树+矩阵快速幂 codeforces718C Sasha and Array

放肆的年华 提交于 2019-12-03 13:22:54
传送门: 点击打开链接 题意:操作1,区间[l,r]的数字+x 操作2,求sigma f(i),l<=i<=r,f是斐波那契数列。 答案取模1e9+7 首先斐波那契数列用矩阵快速幂求,谁都会的。 这里有一个矩阵乘法的性质,A*B+A*C=A*(B+C) 有了这个性质,这题就非常傻逼了。 在求斐波那契数列中,是A*F,A是变换矩阵,F是列矩阵 那么我们用线段树的懒惰标记维护A矩阵,然后用sum维护F矩阵 之后在线段树上,就变成了区间更新乘以x。 就是一个很简单的手速题了。 #include <map> #include <set> #include <cmath> #include <ctime> #include <stack> #include <queue> #include <cstdio> #include <cctype> #include <bitset> #include <string> #include <vector> #include <cstring> #include <iostream> #include <algorithm> #include <functional> #define fuck(x) cout<<"["<<x<<"]"; #define FIN freopen("input.txt","r",stdin); #define FOUT

Django之跨表查询——正反向查询

时光毁灭记忆、已成空白 提交于 2019-12-03 06:43:30
1.正向查询和反向查询: 外键的查询操作: 正向查询: # 正向查询   # 基于对象,跨表查询 book_obj = models.Book.objects.all().first() ret = book_obj.publisher # 和我这本书关联的出版社对象 print(ret,type(ret)) ret = book_obj.publisher.name # 和我这本书关联的出版社对象的name属性 print(ret,type(ret)) # 查询id=1的书出版社名称 # 涉及到跨表操作,利用双下划线 # 双下划线就表示跨了一张表 ret = models.Book.objects.filter(id=1).values_list("publisher__name") print(ret) 反向查询: # 反向查询   # 基于对象查找 publisher_obj = models.Publisher.objects.first() ret = publisher_obj.book_set.all() #关联外键表小写并加上_set print(ret) # 反向查询 # 基于双下划线 ret = models.Publisher.objects.filter(id=1).values_list("book__title") print(ret)    补充

总线

我与影子孤独终老i 提交于 2019-12-03 01:54:54
编写驱动程序: 1 #include <linux/init.h> 2 #include <linux/module.h> 3 #include <linux/device.h> 4 5 struct bus_type my_bus = { 6 .name = "my_bus", 7 }; 8 9 static int __init my_bus_init (void) 10 { 11 int ret; 12 13 ret = bus_register(&my_bus); //注册一条总线 14 if (ret != 0) { 15 return ret; 16 } 17 18 return 0; 19 } 20 21 static void __exit my_bus_exit (void) 22 { 23 bus_unregister(&my_bus); 24 } 25 26 module_init(my_bus_init); 27 module_exit(my_bus_exit); 28 29 MODULE_LICENSE("GPL"); 这个程序很简单,只是在初始化的时候加载了一条总线,该总线的名字为“my_bus”,用insmod加载之后可以在/sys/bus目录下看到一个叫my_bus的目录,如下图: 进到my_bus目录之后用ls -l命令

ansible-playbook-常用

匿名 (未验证) 提交于 2019-12-03 00:39:02
创建软链:file: - name: create link hosts: "{{hosts_ip}}" tasks: - name: create link file: src={{src_path}} dest={{dest_link_path}} state=link 运行脚本: - name: restart jetty hosts: "{{hosts_ip}}" tasks: - name: restart jetty shell: "{{shell_message}}" register: ret - name: display variable debug: msg="{{ ret.stdout_lines }}" 重启jt或者java:shell: - name: restart jetty hosts: "{{hosts_ip}}" tasks: - name: restart jetty shell: "set -m && /opt/bin/jt 2" register: ret - name: display variable debug: msg="{{ ret.stdout_lines }}" - name: rsync learning hosts: "{{hosts_ip}}" tasks: - name: mkdir dir file: path="

Fragment的OnkeyDown处理方法

匿名 (未验证) 提交于 2019-12-03 00:36:02
由于只有Activity中才存在onKeyDown()方法监听,Fragment并不存在,那如何在Fragment中去监听遥控器的按键事件呢?这里我列出我使用的1种方法,供大家讨论一下,欢迎指正。 首先在BaseFragment实现自己需要的抽象方法 public abstract class BaseFragment extends Fragment { public abstract void onShow (); public abstract void requestFocus (); public abstract void clearFocus (); public boolean isFocus (){ return getView (). hasFocus ();}; //这里的是我们的重点 public abstract boolean onKeyDown ( KeyEvent event ); } 在我们FragMent依赖的Activity中重写onKeyDown(),这里有2种方式进行控制按键,<1>:外部法先在Activity看是否要去响应该按键,再去Fragment进行判断。<2>:可以先在Framgent里面根据需要判断按键事件,再在Activity中进行判断,下面我列出第一种方式。 //环境在Activity中 @Override public