摘要: 浏览器有一个很重要的概念——同源策略(Same-Origin Policy)。所谓同源是指,域名,协议,端口相同。不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。但是服务器是返回资源和获取到客服端的数据,只是浏览器阻止了 XMLHttpR 阅读全文
posted @ 2018-11-21 14:29 Python哥 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 自动发送 > 依赖jQuery文件 实例-->GET请求: 手动发送 > 依赖浏览器XML对象(也叫原生ajax) Ajax主要就是使用 【XmlHttpRequest】对象来完成请求的操作,该对象在主流浏览器中均存在(除早起的IE),Ajax首次出现IE5.5中存在(ActiveX控件)。 Xml 阅读全文
posted @ 2018-11-15 10:50 Python哥 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 2 通过ajax上传文件三种方式: view代码三种方式都用这个代码 -jQuery html代码 -原生 默认情况下,jQuery 和 原生 以上两种是不支持上传文件的,但是可以利用FormData对象来封装用户提交的数据(FormData可以封装数据,也可以封装文件) -ifrname+ For 阅读全文
posted @ 2018-10-31 16:38 Python哥 阅读(837) 评论(0) 推荐(0) 编辑
摘要: nginx工作在7层:web server(静态内容 static contents)web reverse proxy(反向代理http,https,mail),cache(带缓存功能) proxy(反向代理http,https,mail),cache(带缓存功能) varnish,squid ( 阅读全文
posted @ 2018-09-29 14:32 Python哥 阅读(201) 评论(0) 推荐(0) 编辑
摘要: view.py 配置 html 配置 阅读全文
posted @ 2018-08-29 15:42 Python哥 阅读(128) 评论(0) 推荐(0) 编辑
摘要: $(function () { $('#add_submit_ajax').click(function () { $.ajax({ url:'/addapp/', data:$('#add_app').serialize(), #发送from表单内容 type:'post', datatype:' 阅读全文
posted @ 2018-07-31 15:36 Python哥 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 事件处理(事件委托)$("").on(eve,[selector],[data],fn) // 在选择元素上绑定一个或多个事件的事件处理函数。 // .on的selector参数是筛选出调用.on方法的dom元素的指定子元素,如:// $('ul').on('click', 'li', functi 阅读全文
posted @ 2018-07-25 10:32 Python哥 阅读(560) 评论(0) 推荐(0) 编辑
摘要: Python 序列化 字符串 = json.dumps(对象) 对象转字符串 对象 = json.loads(字符串) 字符串转对象 Javascript 字符串 = JSON.stringify(对象) 对象转字符串 对象 = JSON.parse(字符串) 字符串转对象 阅读全文
posted @ 2018-07-25 09:57 Python哥 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 生命周期: 指浏览器访问开始,经过Django都发生了什么 ? 1 首先客服端发送http请求,把请求体(请求头和请求内容)生成 2 服务器接收请求后,根据路由映射表一个一个匹配.匹配成功后,后面不匹配了(从上到下执行) 3 匹配成功后,执行指定view函数 FBV 或者 执行指定的view 的类 阅读全文
posted @ 2018-07-09 19:32 Python哥 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 1、cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上cookie,这样服务器就能通过cooki 阅读全文
posted @ 2018-07-06 19:22 Python哥 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1 Admin.py文件 如果你觉得英文界面不好用,可以在setting.py 文件中修改以下选项LANGUAGE_CODE = 'en-us' #LANGUAGE_CODE = 'zh-hans' 2 设置Admin密码 2 注册表 3 自定制 admin.site.register(ec2,ta 阅读全文
posted @ 2018-07-06 18:21 Python哥 阅读(127) 评论(0) 推荐(0) 编辑
摘要: Django终端打印SQL语句 1 Setting配置: 2 默认python 使用的MysqlDB连接,Python3 支持支持pymysql 所有需要在app里面的__init__加上下面配置: 3 models是用类的方式来配置管理数据库表的 需要继承models.Model这个类来管理数据库 阅读全文
posted @ 2018-07-05 20:51 Python哥 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 前提 关于html寻找路线: template 如果在各个APP中存在, Django 会优先找全局template 文件下的html文件,如果全局下的template文件没有相关的html Django会去各个APP下面的template找html文件 全部temlate 优先级最高 过滤器(fi 阅读全文
posted @ 2018-07-04 15:37 Python哥 阅读(208) 评论(0) 推荐(0) 编辑
摘要: // GET请求request.GET // POST请求request.POST // 处理文件上传请求request.FILES // 处理如checkbox等多选 接受列表request.getlist // 查看请求类型request.method // 查看请求源地址request.pat 阅读全文
posted @ 2018-07-04 11:08 Python哥 阅读(480) 评论(0) 推荐(0) 编辑
摘要: return HttpResponse("OK") 返回一个字符串 return redirect("/index/") 返回URL return render(self,'index.html')返回页面return render_to_response('index.html') 无法生成CRS 阅读全文
posted @ 2018-07-04 10:59 Python哥 阅读(480) 评论(0) 推荐(0) 编辑
摘要: urlpatterns = [ url(正则表达式, views视图函数,参数,别名),] 参数说明: 一个正则表达式字符串 一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串 可选的要传递给视图函数的默认参数(字典形式) 一个可选的name参数 http请求中产生两个核心对象: ht 阅读全文
posted @ 2018-07-04 10:49 Python哥 阅读(160) 评论(0) 推荐(0) 编辑
摘要: django的命令行工具 django-admin.py 是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每一个Django Project里都会有一个mannage.py。 <1> 创建一个django工程 : django-admin 阅读全文
posted @ 2018-07-03 19:43 Python哥 阅读(128) 评论(0) 推荐(0) 编辑
摘要: MVC和MTV模式 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。 模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面也就是html文件),控制器(C)接受用户的输入调用模型和视图完成用户的 阅读全文
posted @ 2018-07-03 19:35 Python哥 阅读(165) 评论(0) 推荐(0) 编辑
摘要: import pymysqlconn_mysql = pymysql.connect(host='127.0.0.1',port=3306,user='root',password='123456',db="s3")cur = conn_mysql.cursor()# create_table = 阅读全文
posted @ 2018-07-03 10:58 Python哥 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 数据库操作: 创建表 查看表信息 修改表信息 多表查询: 内连接查询 外连接查询 子查询 阅读全文
posted @ 2018-07-02 13:23 Python哥 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 3.1.1 基本选择器 $("*") $("#id") $(".class") $("element") $(".class,p,div") 3.1.2 层级选择器 $(".outer div") $(".outer>div") $(".outer+div") $(".outer~div") 3.1 阅读全文
posted @ 2018-06-29 12:43 Python哥 阅读(182) 评论(0) 推荐(0) 编辑
摘要: BOM对象 DOM对象(DHTML) 8 实例练习 JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收 阅读全文
posted @ 2018-06-26 19:37 Python哥 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 内边距: 浏览器结果: 给div1加上内边距padding > padding: 30px; 结果为:内容的和边框的距离上线左右增加了30px 下面的div2不变 外边距: 给div1加上内边距margin > margin: 30px 浏览器结果:div 边框上线左右与其他标签距离增加了30px 阅读全文
posted @ 2018-06-15 18:17 Python哥 阅读(237) 评论(0) 推荐(0) 编辑
摘要: CSS css概述 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离。 一 css的四种引入方式 1.行内式 行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。 1 <p 阅读全文
posted @ 2018-06-15 15:39 Python哥 阅读(122) 评论(0) 推荐(0) 编辑
摘要: HTML 是什么? htyper text markup language 即超文本标记语言 超文本: 就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 标记语言: 标记(标签)构成的语言. 网页==HTML文档,由浏览器解析,用来展示的 静态网页:静态的资源,如xxx.html 动态网 阅读全文
posted @ 2018-06-15 10:26 Python哥 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1 __name__ 在自己文件下面执行 就显示__main__ 2 如果__name__是在其他文件里面,然后通过当前文件调用到其他文件执行,就会显示的当前文件路劲的文件名结果: if __name__ == '__main__': 作用: 1 别人调用的,不会执行,也就是不想被别人调用(可能只想用这个文件里面的一个函数等) 2 自己做测试用 阅读全文
posted @ 2018-06-14 11:36 Python哥 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Modu 阅读全文
posted @ 2018-06-13 17:56 Python哥 阅读(1241) 评论(0) 推荐(0) 编辑
摘要: #函数分为数学函数 和 程序开发函数#函数和过程#函数:#过程:就是没有return值#风湿理论:函数即变量#过程;在python中过程也是函数;def test1(): print("test1")#函数def test2(): print("test2") return "test2"#函数参数 阅读全文
posted @ 2018-06-13 17:16 Python哥 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 传统的编程是如下线性模式的: 开始 >代码块A >代码块B >代码块C >代码块D >...... >结束 每一个代码块里是完成各种各样事情的代码,但编程者知道代码块A,B,C,D...的执行顺序,唯一能够改变这个流程的是数据。输入不同的数据,根据条件语句判断,流程或许就改为A >C >E... > 阅读全文
posted @ 2018-06-13 15:54 Python哥 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 用户空间就是用户进程所在的内存区域,相对的,系统空间就是操作系统占据的内存区域。用户进程和系统进程的所有数据都在内存中。 是谁来划分内存空间的呢?在电脑开机之前,内存就是一块原始的物理内存。什么也没有。开机加电,系统启动后,就对物理内存进行了划分。当然,这是系统的规定,物理内存条上并没有划分好的地址 阅读全文
posted @ 2018-06-13 15:50 Python哥 阅读(791) 评论(0) 推荐(0) 编辑
摘要: 协程,又称微线程,纤程。英文名Coroutine(本质就是一个线程)。 优点1: 协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。 优点2: 不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突 阅读全文
posted @ 2018-06-12 16:52 Python哥 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 副本集配置文件 dbpath=/hwdata/mongodb/datalogpath=/hwdata/mongodb/logs/master.logpidfilepath=/hwdata/mongodb/logs/master.piddirectoryperdb=truelogappend=true 阅读全文
posted @ 2018-06-08 17:02 Python哥 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 进程池内部维护一个进程序列,当使用时,则去进程池中获取一个进程,如果进程池序列中没有可供使用的进进程,那么程序就会等待,直到进程池中有可用进程为止。 进程池中有两个方法: apply 同步 apply_async 异步 阅读全文
posted @ 2018-06-06 17:54 Python哥 阅读(111) 评论(0) 推荐(0) 编辑
摘要: from multiprocessing import Process, Lock def f(l, i): l.acquire(): print('hello world %s'%i) l.release() if __name__ == '__main__': lock = Lock() for 阅读全文
posted @ 2018-06-06 17:50 Python哥 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 有三种方式: 1 进程对列Queue 2 管道 结果是: [12, {'name': '123'}, 'hello'] 接收主进程消息1 主进程发子进程的消息1 接收主进程消息2 主进程发子进程的消息2 3 Queue和pipe(管道)只是实现了数据交互,并没实现数据共享,即一个进程去更改另一个进程 阅读全文
posted @ 2018-06-06 16:08 Python哥 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。 multiprocessing包是Python中的多进程管理包。与threading.Thread类似,它可以利用multiprocessing.Proce 阅读全文
posted @ 2018-06-06 10:11 Python哥 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 生产者消费者模型: 为什么要使用生产者和消费者模式 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生 阅读全文
posted @ 2018-06-04 17:46 Python哥 阅读(152) 评论(0) 推荐(0) 编辑
摘要: #队列有3中模式,先进先出,先进后出,优先级 1:先进先出import queue q = queue.Queue() #默认是先进先出q.put(12)q.put('jack')q.put({'name':'ok'})while True: data = q.get() print(data) q 阅读全文
posted @ 2018-06-04 17:21 Python哥 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 信号量用来控制线程并发数的,BoundedSemaphore或Semaphore管理一个内置的计数 器,每当调用acquire()时-1,调用release()时+1。 计数器不能小于0,当计数器为 0时,acquire()将阻塞线程至同步锁定状态,直到其他线程调用release()。(类似于停车位 阅读全文
posted @ 2018-06-01 17:10 Python哥 阅读(165) 评论(0) 推荐(0) 编辑
摘要: event = threading.Event() #创建同步对象 event.wait() #同步对象等待状态 event.set() #同步对象设置Trueevent.clear() #清除同步对象 event.wait() >捕捉到 event.set() > 继续执行 >event.clea 阅读全文
posted @ 2018-06-01 16:43 Python哥 阅读(158) 评论(0) 推荐(0) 编辑