随笔分类 - Python 开发之路
摘要:什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到
阅读全文
摘要:前戏 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。 学完今天的内容之后呢,我们就可以用更适宜的方式来实现类似给所有请求都做
阅读全文
摘要:AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 * JSON 使用 JavaScript
阅读全文
摘要:Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息
阅读全文
摘要:cookie Cookie的由来 大家都知道HTTP协议是无状态的。 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。 一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全
阅读全文
摘要:一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 返回QuerySet对象的方法有 all() filter() exclude() order_by() reverse() distinct() 特殊的QuerySet values() 返回一个可迭代的字典序列 values_list
阅读全文
摘要:Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中
阅读全文
摘要:Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它
阅读全文
摘要:Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。 你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 URLc
阅读全文
摘要:Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}。 注意:模板一般放在app下的templates中,Django会自动去这个文件夹中找。但 假如我们每个app的templates中都有一个 index.html,
阅读全文
摘要:Django框架简介 MVC框架和MTV框架(了解即可) MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。 Dja
阅读全文
摘要:Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 这样我们就可以自己实现Web框架了。 半成品自定义web框架 可以说Web服务本质上都是在这十几行代码基础上扩展出来的。这段代码就是它们的祖宗。 用户的浏览器一输入网址,会
阅读全文
摘要:常用内置函数 abs/round/sum eval/exec enumerate max/min sorted 将给定的可迭代对象进行排序,并生成一个有序的可迭代对象。 还接受一个key参数和reverse参数。 zip zip函数接收一个或多个可迭代对象作为参数,最后返回一个迭代器: zip(x,
阅读全文
摘要:楔子 如果有这样一个列表,让你从这个列表中找到66的位置,你要怎么做? 你说,so easy! l.index(66)... 我们之所以用index方法可以找到,是因为python帮我们实现了查找方法。如果,index方法不给你用了。。。你还能找到这个66么? 上面这个方法就实现了从一个列表中找到6
阅读全文
摘要:方式一:通过form表单中,html input 标签的“file”完成 方法二:利用XmlHttpRequest对象,发送原生的Ajax请求 (这种方法不能发送文件,需要依赖另外一个对象FormData) # 方法 a. void open(String method,String url,Boo
阅读全文
摘要:迭代器和生成器 迭代和可迭代 什么是迭代(iteration)? 如果给定一个list或tuple,我们要想访问其中的某个元素,我们可以通过下标来,如果我们想要访问所有的元素,那我们可以用for循环来遍历这个list或者tuple,而这种遍历我们就叫做迭代。 可迭代(iterable)? 其实你已经
阅读全文
摘要:python 基础 ... 深浅拷贝 基本数据类型及内置方法 字符编码 文件处理 数据库 MySQL pymysql模块 ... 前端 HTML CSS JavaScript jQuery Bootstrap Django基础 Web框架原理 Django框架介绍 Django模板语言 Django
阅读全文
摘要:aggregate和annotate方法的使用场景 Django的aggregate和annotate方法属于高级查询方法,主要用于组合查询。当我们需要对查询集(queryset)的某些字段进行计算或进行先分组再计算或排序, 我们就需要使用aggregate和annotate方法了。 假如我们有如下
阅读全文
摘要:mysql 修改 添加 删除 表字段 添加表的字段 alter table 表名 add 字段名 字段的类型 例子: alter table table1 add transactor varchar(10) not Null; alter table table1 add id int unsig
阅读全文
摘要:运行结果 由结果可以看出,__get__只运行了一次,结果保存到了实例的属性字典,后面的调用直接在实例属性字典里取值。
阅读全文