摘要: SQLAlchemy 一. 介绍 SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 组成部分: Engine,框架的引擎 Connection 阅读全文
posted @ 2019-03-27 23:25 种树飞 阅读(205) 评论(0) 推荐(0)
摘要: Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但 阅读全文
posted @ 2019-03-27 23:24 种树飞 阅读(158) 评论(0) 推荐(0)
摘要: vue的核心思想: 1.数据驱动视图. 2.数据的双向绑定 利用npm 搭载一个vue项目 1.下载node node.js是一门后端语言,用于我们写服务端 (1) 点击进入中文官网https://nodejs.org/zh-cn/ (2)点击下载 (3),点击以往版本 (4)选择6.10.3版本, 阅读全文
posted @ 2019-03-27 23:22 种树飞 阅读(3356) 评论(0) 推荐(0)
摘要: 概述 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上。 1、传统的Web应用 一个简单操作需要重新加载全局数据 2、AJAX AJAX,Asynchronous JavaScript and X 阅读全文
posted @ 2019-03-27 23:20 种树飞 阅读(270) 评论(0) 推荐(0)
摘要: 为什么用threading.local? 我们都知道线程是由进程创建出来的,CPU实际执行的也是线程,那么线程其实是没有自己独有的内存空间的,所有的线程共享进程的资源和空间,共享就会有冲突,对于多线程对同一块数据处理的冲突问题,一个办法就是加互斥锁,另一个办法就是利用threading.local 阅读全文
posted @ 2019-03-27 23:16 种树飞 阅读(274) 评论(0) 推荐(0)
摘要: Flask是一个基于python依赖jinjia2模板和Werkzeug WSGI 服务的一个微型框架. werkzeug和Django中的wsgiref模块一样其本质就是一个socket服务端,,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能 阅读全文
posted @ 2019-03-27 23:15 种树飞 阅读(359) 评论(0) 推荐(0)
摘要: 创建类的两种方式 方式一 class Foo(object):#这里不指定metaclass时,默认metaclass=type city='北京' def func(self,x): return x+1 方式二 type()函数不仅可以查看数据的类型还可以创建类 Fool=type('Fool' 阅读全文
posted @ 2019-03-27 23:12 种树飞 阅读(794) 评论(0) 推荐(0)
摘要: flask-session 出现背景:你有没有发现我们在flask中是吧session保存在cookie中,并没有自己保存一份,这样太不安全了,这时候,就出现了request-session 作用 flask-session 的作用:将flask中默认保存在cookie中的值保存在redis/mem 阅读全文
posted @ 2019-03-27 23:10 种树飞 阅读(213) 评论(0) 推荐(0)
摘要: Nosql Nosql(not only sql) 意为不仅仅是SQL NoSql泛指非关系型数据库。例如谷歌和Facebook每天为他们的用户收集上万条数据,这些数据库不需要固定的格式,无多余的操作就可以横向扩展 为什么会出现nosql? 传统关系型数据库的瓶颈: 1,无法应对每秒上万次的读写请求 阅读全文
posted @ 2019-03-27 23:08 种树飞 阅读(283) 评论(0) 推荐(0)
摘要: 在我们用serializers.ModelSerializer序列化时会出现以下两种情况 1.关联的外键,会把它所关联对象的所有字典都显示出来,增加了不必要的查询 2.genericRelation关联的表的字段不显示 degreecourse_price_policy = GenericRelat 阅读全文
posted @ 2019-03-27 23:06 种树飞 阅读(829) 评论(0) 推荐(0)
摘要: git Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理. git的目的:通过git来管理github来托管项目代码。 安装很简单直接在官网上下载对应的操作系统就可以了 git分为的区域 工作区:我们编辑修改,删除文件的地方。 暂存区:暂存已经修改好的文件,最 阅读全文
posted @ 2019-03-27 23:04 种树飞 阅读(249) 评论(0) 推荐(0)
摘要: contenttype 在Django中有一张表记录着app和该app下的类(即表)对应关系的一张表,就是contenttype表, contenttype部分源码 在这里进入 from django.contrib.contenttypes.models import ContentType cl 阅读全文
posted @ 2019-03-27 23:02 种树飞 阅读(294) 评论(0) 推荐(0)
摘要: 网站的开发模式 网站的开发模式有两种: 普通开发模式(前后端一起写,django返回render redirct,httpresponse) 前后端分离:前端HTML页面通过ajax调用后端的restfulapi接口并用json进行数据交互 前端只能发送ajax请求,永远不用form表单了 后端只用 阅读全文
posted @ 2019-03-27 23:00 种树飞 阅读(468) 评论(0) 推荐(0)
摘要: 前后端分离后,后端不能写前端的代码,那么如何发post请求呢,这时候就可以用postman插件 局部避免CSRF的方式 后端不能写前端代码那么如何来避免CSRF呢,不要说注释掉中间件方法太lower了 对于FBV我们这样做: from django.views.decorators.csrf imp 阅读全文
posted @ 2019-03-27 22:58 种树飞 阅读(436) 评论(0) 推荐(0)
摘要: 请求处理方式 django中请求处理的方式有两种 FBV FBV (function base views)(基于函数的视图)就是在视图中用函数来处理请求,我们以前学的都是FBV的形式,通过判断请求方式,来执行不同的方法 urls.py urlpatterns = [ url(r'^admin/', 阅读全文
posted @ 2019-03-27 22:56 种树飞 阅读(316) 评论(0) 推荐(0)
摘要: MTV模型 Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻辑,并在适当的时候调用Model和Template 此外,Django还有一个urls分发器,它的作用是将一个个URL 阅读全文
posted @ 2019-03-27 22:53 种树飞 阅读(845) 评论(0) 推荐(0)
摘要: <!--done--> 文章分类 - Django系列学习 Django-admin管理工具 摘要: admin组件使用 Django 提供了基于 web 的管理工具。 Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALL 阅读全文
posted @ 2019-03-27 22:52 种树飞 阅读(147) 评论(0) 推荐(0)
摘要: admin组件使用 Django 提供了基于 web 的管理工具。 Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: django.contrib是一套庞大的功能集,它是Django基本代码的组 阅读全文
posted @ 2019-03-27 22:50 种树飞 阅读(223) 评论(0) 推荐(0)
摘要: beautifulsoup的简单使用 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: 安装 解析器 Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则 Python 会使用 阅读全文
posted @ 2019-03-27 22:49 种树飞 阅读(309) 评论(0) 推荐(0)
摘要: HTTP协议 HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。 阅读全文
posted @ 2019-03-27 22:47 种树飞 阅读(163) 评论(0) 推荐(0)
摘要: Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。 Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统--auth, 阅读全文
posted @ 2019-03-27 22:46 种树飞 阅读(120) 评论(0) 推荐(0)
摘要: 前戏 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。 学完今天的内容之后呢,我们就可以用更适宜的方式来实现类似给所有请求都做 阅读全文
posted @ 2019-03-27 22:41 种树飞 阅读(169) 评论(0) 推荐(1)
摘要: Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息 阅读全文
posted @ 2019-03-27 22:39 种树飞 阅读(157) 评论(0) 推荐(0)
摘要: AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 * JSON 使用 JavaScript 阅读全文
posted @ 2019-03-27 22:38 种树飞 阅读(290) 评论(0) 推荐(0)
摘要: Django框架简介 MVC框架和MTV框架(了解即可) MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。 想要更 阅读全文
posted @ 2019-03-27 22:37 种树飞 阅读(201) 评论(0) 推荐(1)
摘要: Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 这样我们就可以自己实现Web框架了。 半成品自定义web框架 可以说Web服务本质上都是在这十几行代码基础上扩展出来的。这段代码就是它们的祖宗。 用户的浏览器一输入网址,会 阅读全文
posted @ 2019-03-27 22:36 种树飞 阅读(291) 评论(0) 推荐(1)
摘要: Python3连接MySQL 本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用。 PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 Django中也可以使用PyMySQL连接My 阅读全文
posted @ 2019-03-27 22:33 种树飞 阅读(281) 评论(0) 推荐(0)
摘要: Bootstrap介绍 Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。 它是为实现快速开发Web应用程序而设计的一套前端工具包。 它支持响应式布局,并且在V3版本之后坚持移动设备优先。 为什么要使用Bootstrap? 在Bootstrap出现之前: 阅读全文
posted @ 2019-03-27 22:32 种树飞 阅读(320) 评论(0) 推荐(0)
摘要: jQuery jQuery介绍 jQuery的优势 jQuery内容: 下载链接:jQuery官网 中文文档:jQuery AP中文文档 jQuery版本 1.x:兼容IE678,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2 阅读全文
posted @ 2019-03-27 22:31 种树飞 阅读(140) 评论(0) 推荐(0)
摘要: 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DOM相关知识。 JavaScript分为 ECMAScript,DOM,BOM。 BOM(Browse 阅读全文
posted @ 2019-03-27 22:29 种树飞 阅读(193) 评论(0) 推荐(0)
摘要: JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规 阅读全文
posted @ 2019-03-27 22:28 种树飞 阅读(180) 评论(0) 推荐(0)
摘要: CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。 CSS语法 CSS实例 每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。 CS 阅读全文
posted @ 2019-03-27 22:27 种树飞 阅读(120) 评论(0) 推荐(0)
摘要: HTML介绍 Web服务本质 浏览器发请求 --> HTTP协议 --> 服务端接收请求 --> 服务端返回响应 --> 服务端把HTML文件内容发给浏览器 --> 浏览器渲染页面 HTML是什么? 超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的 阅读全文
posted @ 2019-03-27 22:26 种树飞 阅读(305) 评论(0) 推荐(0)
摘要: 导出现有数据库数据: mysqldump -u用户名 -p密码 数据库名称 >导出文件路径 # 结构+数据 mysqldump -u用户名 -p密码 -d 数据库名称 >导出文件路径 # 结构 导入现有数据库数据: mysqldump -uroot -p密码 数据库名称 < 文件路径 /* Navi 阅读全文
posted @ 2019-03-27 22:25 种树飞 阅读(233) 评论(0) 推荐(0)
摘要: MySQL测试题 一、表关系 请创建如下表,并创建相关约束 二、操作表 1、自行创建测试数据 2、查询“生物”课程比“物理”课程成绩高的所有学生的学号; 3、查询平均成绩大于60分的同学的学号和平均成绩; 4、查询所有同学的学号、姓名、选课数、总成绩; 5、查询姓“李”的老师的个数; 6、查询没学过 阅读全文
posted @ 2019-03-27 22:24 种树飞 阅读(180) 评论(0) 推荐(0)
摘要: 本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。 下载安装 使用操作 1、执行SQL 2、获取新创建数据自增ID 3、获取查询数据 注:在 阅读全文
posted @ 2019-03-27 22:13 种树飞 阅读(224) 评论(0) 推荐(0)
摘要: 视图 视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,并可以将其当作表来使用。 SELECT * FROM ( SELECT nid, NAME FROM tb1 WHERE nid > 2 ) AS A WHERE 阅读全文
posted @ 2019-03-27 22:12 种树飞 阅读(108) 评论(0) 推荐(0)
摘要: 一、概述 1、什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ? 答:他们均是一个软件,都有两个主要的功能: a. 将数据保存到文件或内存 b. 接收特定的 阅读全文
posted @ 2019-03-27 22:10 种树飞 阅读(131) 评论(0) 推荐(0)
摘要: 事件驱动模型 上节的问题: 协程:遇到IO操作就切换。 但什么时候切回去呢?怎么确定IO操作完了? 很多程序员可能会考虑使用“线程池”或“连接池”。“线程池”旨在减少创建和销毁线程的频率,其维持一定合理数量的线程,并让空闲的线程重新承担新的执行任务。“连接池”维持连接的缓存池,尽量重用已有的连接、减 阅读全文
posted @ 2019-03-27 22:08 种树飞 阅读(426) 评论(0) 推荐(0)
摘要: 操作系统 一 为什么要有操作系统? 二 操作系统历史 2.1 真空管与穿孔卡片(无操作系统) 2.2 晶体管和批处理系统 2.3 集成电路芯片和多道程序设计 2.4 个人计算机 随着大规模集成电路的发展,每平方厘米的硅片芯片上可以集成数千个晶体管,个人计算机的时代就此到来。 三 进程和线程 进程 线 阅读全文
posted @ 2019-03-27 22:06 种树飞 阅读(216) 评论(0) 推荐(0)
摘要: 操作系统 一 为什么要有操作系统? 二 操作系统历史 2.1 真空管与穿孔卡片(无操作系统) 2.2 晶体管和批处理系统 2.3 集成电路芯片和多道程序设计 2.4 个人计算机 随着大规模集成电路的发展,每平方厘米的硅片芯片上可以集成数千个晶体管,个人计算机的时代就此到来。 三 进程和线程 进程 线 阅读全文
posted @ 2019-03-27 22:04 种树飞 阅读(349) 评论(0) 推荐(0)
摘要: 一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频) C/S架构与socket的关系: 我们学习socket就是 阅读全文
posted @ 2019-03-27 22:01 种树飞 阅读(295) 评论(0) 推荐(0)
摘要: 一 isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 二 反射 1 什么是反射 反射的概念是由Smi 阅读全文
posted @ 2019-03-27 21:57 种树飞 阅读(97) 评论(0) 推荐(0)
摘要: 模块&包(* * * * *) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在P 阅读全文
posted @ 2019-03-27 21:53 种树飞 阅读(294) 评论(0) 推荐(0)
摘要: 一 面向对象的程序设计的由来 面向对象设计的由来见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 面向对象的程序设计:路飞学院版 上海周末2期面向对象课件下载 二 什么是面向对象的程序设计及为什么要有它 面向过程的程序设计:核心是 阅读全文
posted @ 2019-03-27 21:51 种树飞 阅读(247) 评论(0) 推荐(0)
摘要: 一 什么是装饰器 器即函数 装饰即修饰,意指为其他函数添加新功能 装饰器定义:本质就是函数,功能是为其他函数添加新功能 二 装饰器需要遵循的原则 1.不修改被装饰函数的源代码(开放封闭原则) 2.为被装饰函数添加新功能后,不修改被修饰函数的调用方式 三 实现装饰器知识储备 装饰器=高阶函数+函数嵌套 阅读全文
posted @ 2019-03-27 21:48 种树飞 阅读(149) 评论(0) 推荐(0)
摘要: 字符串格式化 Python的字符串格式化有两种方式: 百分号方式、format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。[PEP-3101] This PEP proposes a new system for built-in str 阅读全文
posted @ 2019-03-27 21:45 种树飞 阅读(3316) 评论(0) 推荐(0)
摘要: 一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数。自变量x的取值范围叫做这个函数的定义域 例如y=2*x python中函数定义: 阅读全文
posted @ 2019-03-27 21:42 种树飞 阅读(207) 评论(0) 推荐(0)
摘要: 一 文件操作 一 介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分。 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给 阅读全文
posted @ 2019-03-27 21:39 种树飞 阅读(111) 评论(0) 推荐(0)
摘要: 1.变量 变量命名规则遵循标识符命名规则,详见第二篇 8 变量的赋值操作 与c语言的区别在于变量赋值操作无返回值 链式赋值:y=x=a=1 多元赋值:x,y=1,2 x,y=y,x 增量赋值:x+=1 二.数据类型 2.1 什么是数据类型及数据类型分类 身份:内存地址,可以用id()获取 类型:决定 阅读全文
posted @ 2019-03-27 21:28 种树飞 阅读(333) 评论(0) 推荐(0)
摘要: 一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。 注:计算机(硬件)->os->应用软件 二.网络通信原理 2.1 互联网的本质就是一系列的 阅读全文
posted @ 2019-03-27 10:05 种树飞 阅读(416) 评论(0) 推荐(0)