摘要:还在学习上个世纪90年代的编程语言吗? 快来和我一起面向未来编程吧~ 8分钟告诉你为什么应该学习Go语言 更多Go语言相关内容请移步我的最新博客地址:liwenzhou.com 来B站观看我专门为你录制的视频教程:最新免费Go语言入门视频教程 还在学习上个世纪90年代的编程语言吗? 快来和我一起面向 阅读全文
posted @ 2018-11-14 19:50 Q1mi 阅读 (19039) 评论 (6) 编辑
摘要:Django REST framework介绍 现在前后端分离的架构设计越来越流行,业界甚至出现了API优先的趋势。 显然API开发已经成为后端程序员的必备技能了,那作为Python程序员特别是把Django作为自己主要的开发框架的程序员,我十分推荐Django REST framework(DRF 阅读全文
posted @ 2018-03-11 08:31 Q1mi 阅读 (15269) 评论 (0) 编辑
摘要:Redis介绍 Redis是什么 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string、list、set、zset(sorted set)和hash。这些数据类型都支持push/pop、add/remove、取交集、并集和差集及其 阅读全文
posted @ 2019-01-20 22:45 Q1mi 阅读 (1111) 评论 (0) 编辑
摘要:contenttypes组件 介绍 Django包含一个contenttypes应用程序(app),可以跟踪Django项目中安装的所有模型(Model),提供用于处理模型的高级通用接口。 Django包含一个contenttypes应用程序(app),可以跟踪Django项目中安装的所有模型(Mo 阅读全文
posted @ 2019-01-16 17:05 Q1mi 阅读 (606) 评论 (0) 编辑
摘要:DRF的版本控制 为什么需要版本控制 API 版本控制允许我们在不同的客户端之间更改行为(同一个接口的不同版本会返回不同的数据)。 DRF提供了许多不同的版本控制方案。 可能会有一些客户端因为某些原因不再维护了,但是我们后端的接口还要不断的更新迭代,这个时候通过版本控制返回不同的内容就是一种不错的解 阅读全文
posted @ 2019-01-14 21:53 Q1mi 阅读 (615) 评论 (0) 编辑
摘要:解析器 解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据。本质就是对请求体中的数据进行解析。 在了解解析器之前,我们要先知道Accept以及ContentType请求头。 Accept是告诉对方我能解析什么样的数据,通常也可以表示我想要什么样的数据。 Con 阅读全文
posted @ 2019-01-14 18:27 Q1mi 阅读 (468) 评论 (0) 编辑
摘要:Django REST framework介绍 Django REST framework是基于Django实现的一个RESTful风格API框架,能够帮助我们快速开发RESTful风格的API。 官网:https://www.django-rest-framework.org/ 中文文档:http 阅读全文
posted @ 2019-01-10 21:17 Q1mi 阅读 (774) 评论 (0) 编辑
摘要:还在学习上个世纪90年代的编程语言吗? 快来和我一起面向未来编程吧~ 8分钟告诉你为什么应该学习Go语言 更多Go语言相关内容请移步我的最新博客地址:liwenzhou.com 来B站观看我专门为你录制的视频教程:最新免费Go语言入门视频教程 还在学习上个世纪90年代的编程语言吗? 快来和我一起面向 阅读全文
posted @ 2018-11-14 19:50 Q1mi 阅读 (19038) 评论 (6) 编辑
摘要:面向对象进阶 类型判断 issubclass 首先,我们先看issubclass() 这个内置函数可以帮我们判断x类是否是y类型的子类。 type 然后我们来看type,type在前面的学习期间已经使用过了。type(obj) 表示查看obj是由哪个类创建的。 isinstance isinstan 阅读全文
posted @ 2018-11-02 09:57 Q1mi 阅读 (759) 评论 (1) 编辑
摘要:装饰器 此文可能是有史以来最全的关于Python装饰器的Blog了... 函数名的运用 关于函数名 函数名是⼀个变量,但它是⼀个特殊的变量。与括号配合可以执⾏函数的变量。 查看函数名的内存地址: 做变量 做容器的元素 做参数 做返回值 闭包 灵魂三问 首先我们来看一个例子: 理解了上面的例子,我们再 阅读全文
posted @ 2018-10-30 20:57 Q1mi 阅读 (515) 评论 (0) 编辑
摘要:面向对象基础 面向对象和面向过程 编程思想是什么,就是用代码解决现实生活中问题的思路。 面向过程 核心点在过程二字,过程指的是解决问题的步骤,说白了就是先做什么再干什么。这种解决问题的思路就好比是工厂中的流水线。 运维同学工作中接触到的shell脚本就是典型的按步骤做事。 优点:复杂的问题流程化,进 阅读全文
posted @ 2018-10-25 20:31 Q1mi 阅读 (737) 评论 (0) 编辑
摘要:楔子 如果有这样一个列表,让你从这个列表中找到66的位置,你要怎么做? l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88] 你说,so easy! l.index(66)... 我们之所以用ind 阅读全文
posted @ 2018-10-09 18:40 Q1mi 阅读 (290) 评论 (0) 编辑
摘要:推导式的套路 之前我们已经学习了最简单的列表推导式和生成器表达式。但是除此之外,其实还有字典推导式、集合推导式等等。 下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式。 variable = [out_exp_res for out_exp in input_list if out_ 阅读全文
posted @ 2018-10-09 18:34 Q1mi 阅读 (403) 评论 (0) 编辑
摘要:迭代器和生成器 迭代和可迭代 什么是迭代(iteration)? 如果给定一个list或tuple,我们要想访问其中的某个元素,我们可以通过下标来,如果我们想要访问所有的元素,那我们可以用for循环来遍历这个list或者tuple,而这种遍历我们就叫做迭代。 可迭代(iterable)? 其实你已经 阅读全文
posted @ 2018-10-09 16:22 Q1mi 阅读 (1323) 评论 (0) 编辑
摘要:阅读目录 楔子 python中的for循环 可迭代协议 迭代器协议 为什么要有for循环 初识生成器 生成器函数 列表推导式和生成器表达式 本章小结 生成器相关的面试题 返回顶部 楔子 假如我现在有一个列表l=['a','b','c','d','e'],我想取列表中的内容,有几种方式? 首先,我可以 阅读全文
posted @ 2018-10-09 15:52 Q1mi 阅读 (234) 评论 (0) 编辑
摘要:信号 Django 提供一个“信号分发器”,允许解耦的应用在框架的其它地方发生操作时会被通知到。 简单来说,信号允许特定的sender通知一组receiver某些操作已经发生。 这在多处代码和同一事件有关联的情况下很有用。 内置信号 模型信号 django.db.models.signals模块定义 阅读全文
posted @ 2018-10-05 17:32 Q1mi 阅读 (1531) 评论 (0) 编辑
摘要:进程 相关概念 进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进 阅读全文
posted @ 2018-09-17 12:56 Q1mi 阅读 (1035) 评论 (0) 编辑
摘要:一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个数据,你要怎么做呢? 这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写 阅读全文
posted @ 2018-09-17 12:56 Q1mi 阅读 (994) 评论 (0) 编辑
摘要:阅读目录 isinstance和issubclass 反射 setattr delattr getattr hasattr __str__和__repr__ __del__ item系列 __getitem__ __setitem__ __delitem__ __new__ __call__ __l 阅读全文
posted @ 2018-09-17 12:56 Q1mi 阅读 (231) 评论 (0) 编辑
摘要:阅读目录 一 引子 二 协程介绍 三 Greenlet模块 四 Gevent模块 引子 之前我们学习了线程、进程的概念,了解了在操作系统中 进程是资源分配的最小单位,线程是CPU调度的最小单位。 按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题, 阅读全文
posted @ 2018-09-17 12:55 Q1mi 阅读 (223) 评论 (0) 编辑
摘要:什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C 阅读全文
posted @ 2018-09-17 12:18 Q1mi 阅读 (1644) 评论 (0) 编辑
摘要:Dajngo admin使用 admin app Django 提供了基于 web 的管理工具。 Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: settings.py中 django.con 阅读全文
posted @ 2018-08-22 17:49 Q1mi 阅读 (1443) 评论 (0) 编辑
摘要:介绍浏览器的同源策略,并且使用Django代码演示了如何使用JSONP和CORS实现跨域。 阅读全文
posted @ 2018-08-21 20:07 Q1mi 阅读 (3901) 评论 (0) 编辑
摘要:认证、权限和限制 身份验证是将传入请求与一组标识凭据(例如请求来自的用户或其签名的令牌)相关联的机制。然后 权限 和 限制 组件决定是否拒绝这个请求。 简单来说就是: 认证确定了你是谁 权限确定你能不能访问某个接口 限制确定你访问某个接口的频率 认证 REST framework 提供了一些开箱即用 阅读全文
posted @ 2018-08-02 22:51 Q1mi 阅读 (2594) 评论 (0) 编辑
摘要:DRF中的Request 在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等。 比如,区别于Django中的request从request.GET中获取URL参数,从request.POST中取某 阅读全文
posted @ 2018-08-01 19:03 Q1mi 阅读 (1267) 评论 (0) 编辑
摘要:DRF分页组件 为什么要使用分页 我们数据表中可能会有成千上万条数据,当我们访问某张表的所有数据时,我们不太可能需要一次把所有的数据都展示出来,因为数据量很大,对服务端的内存压力比较大还有就是网络传输过程中耗时也会比较大。 通常我们会希望一部分一部分去请求数据,也就是我们常说的一页一页获取数据并展示 阅读全文
posted @ 2018-07-31 23:42 Q1mi 阅读 (1199) 评论 (0) 编辑
摘要:表结构: 单表的GET和POST: 路由: 序列化类: 视图: 外键的GET和POST: 路由: 序列化: 视图: 多对多的GET和POST: 路由: 序列化: 视图: 超链接的序列化: 路由: 序列化: 视图: 阅读全文
posted @ 2018-07-31 22:15 Q1mi 阅读 (1227) 评论 (0) 编辑
摘要:RESTful介绍 REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”。 推荐阅读 阮一峰 理解RESTful架构 RESTful API设计指南 推荐阅读 阮一峰 RESTfu 阅读全文
posted @ 2018-07-30 20:19 Q1mi 阅读 (1978) 评论 (0) 编辑
摘要:1. 出现莫名其妙的 app01 我项目中的app名字并不是app01,可是运行python manage.py makemigrations的时候总是提示app01不是已安装的app 解决办法: 找到自己的python环境下的site-packages/django/contrib/admin/m 阅读全文
posted @ 2018-07-02 21:15 Q1mi 阅读 (943) 评论 (0) 编辑
摘要:ES6 初识 ES6 是 ECMAScript 6.0 的简写,即 JavaScript 语言的下一代标准,已经在 2015年6月正式发布了,它的目标是让JS能够方便的开发企业级大型应用程序,因此,ES6的一些规范正在逐渐向Java、C# 等后端语言标准靠近。在 ES6 规范中,比较重大的变化有以下 阅读全文
posted @ 2018-07-01 14:52 Q1mi 阅读 (1341) 评论 (0) 编辑
摘要:好久没发新博客,凑个数。。。 django-debug-toolbar 介绍 django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息。 github地址 文档地址 安装 配置 1. settings.py中 2. 阅读全文
posted @ 2018-06-29 21:36 Q1mi 阅读 (1236) 评论 (0) 编辑
摘要:Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。 Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统--auth, 阅读全文
posted @ 2018-05-21 11:09 Q1mi 阅读 (5214) 评论 (0) 编辑