摘要:
中间件 前言 之前我们给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。 中间件可以实现给所有请求做相同的操作,免去给每一个视图函数加装饰器的工作。 中间件 阅读全文
摘要:
博客总目录 Python部分 计算机基础,Python之变量以及简单的循环 Python基础数据类型之int、bool、str Python基础数据类型之列表和元组 Python基础数据类型之字典 Python之格式化输出,初始编码以及运算符 Python之编码 Python基础数据类型之集合以及其 阅读全文
摘要:
Form介绍 之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确,如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误消息。 D 阅读全文
摘要:
先了解JSON 什么是JSON? JSON 指的是JavaScript对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 JSON 具有自我描述性,更易理解 JSON 使用JavaScript语法来描述数据对象,但是JSON 阅读全文
摘要:
一般操作 https://docs.djangoproject.com/en/1.11/ref/models/querysets/ 官网文档 常用的操作 返回QuerySet对象的方法 all() filter() exelude() order_by() reverse() distinct() 阅读全文
摘要:
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层 阅读全文
摘要:
自定义方法 def user_list(request): # user_list = data[0:10] # user_list = data[10:20] try: current_page = int(request.GET.get("page")) except Exception as 阅读全文
摘要:
一、Cookie和Session 首先、HTTP协议是无状态的;所谓的无状态是指每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应直接影响,也不会直接影响后面的请求响应情况。简单来说就是,对服务器来说,每次的请求都是全新的。 状态可以理解为客户端和服 阅读全文
摘要:
Web框架本质 其实所有的Web应用本质就是一个socket服务端,而用户的浏览器就是一个socket客户端。简单的socket代码如下: 可以说Web服务本质上都是在这十几行基础上扩展出来的。这段代码就是它们的前世。 用户的浏览器一输入网址,会给服务端发送数据,那浏览器会发送什么数据?怎么发?这个 阅读全文
摘要:
装饰带参数函数 输出: 多个装饰器 带参数装饰器 被装饰的函数可以带参数,装饰器同样也可以带参数。 回头看我们上面写得那些装饰器,它们默认把被装饰的函数当成唯一的参数。但是呢,有时候我们需要为我们的装饰器传递参数,这种情况下应该怎么办呢? 接下来,我们就一步步实现带参数的装饰器: 首先我们来回顾下上 阅读全文