摘要: 实际操作顺序:1.python 文件 db init2.python 文件 db migrate -m"版本名(注释)"3.python 文件 db upgrade 然后观察表结构4.根据需求修改模型5.python 文件 db migrate -m"新版本名(注释)"6.python 文件 db 阅读全文
posted @ 2019-07-14 18:07 顽强的allin 阅读(107) 评论(0) 推荐(0) 编辑
摘要: class Foo(object): def func(self, name): print(name) # 第一种,通过实例对象调用func方法 foo = Foo() foo.func('allin') # 第二种,通过类名调用func方法 foo = Foo() Foo.func(foo, 'allin') # 两种方法等价 阅读全文
posted @ 2019-07-14 18:07 顽强的allin 阅读(3069) 评论(0) 推荐(0) 编辑
摘要: config.py: manager.py 阅读全文
posted @ 2019-07-14 18:05 顽强的allin 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 声明redis_store为StrictRedis 类型,值为None,用处:在别处调用时,如果redis_store仍为None,不会有提示(自动补全的提示),如果想要自动补全的提示则写成这样,函数同理 变量: 阅读全文
posted @ 2019-07-14 18:03 顽强的allin 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 1.python连接redis 阅读全文
posted @ 2019-07-14 17:44 顽强的allin 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 正则表达式字符串的开头字母“r”。 它告诉Python这是个原始字符串,不需要处理里面的反斜杠(转义字符)。 在普通Python字符串中,反斜杠用于特殊字符的转义。比如n转义成一个换行符。 当你用r把它标示为一个原始字符串后,Python不再视其中的反斜杠为转义字符。也就是说,“n”是两个字符串:“ 阅读全文
posted @ 2019-07-13 16:29 顽强的allin 阅读(1502) 评论(0) 推荐(0) 编辑
摘要: 解析器 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己想要的数据类型的过程。 本质就是对请求体中的数据进行解析。 在了解解析器之前~大家要先知道Accept以及ContentType请求头。 Accept是告诉对方我能解析什么样的数据,通常也可以表示我想要什么样的数据。 Conten 阅读全文
posted @ 2019-07-13 16:04 顽强的allin 阅读(143) 评论(0) 推荐(0) 编辑
摘要: web服务交互 我们在浏览器中能看到的每个网站,都是一个web服务。那么我们在提供每个web服务的时候, 都需要前后端交互,前后端交互就一定有一些实现方案,我们通常叫web服务交互方案。 目前主流的三种web服务交互方案: -- REST ( Representational State Trans 阅读全文
posted @ 2019-07-11 18:45 顽强的allin 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 1 类视图引入 以函数的方式定义的视图称为函数视图,函数视图便于理解。 但是遇到一个视图对应的路径提供了多种不同HTTP请求方式的支持时,便需要在一个函数中编写不同的业务逻辑,代码可读性与复用性都不佳。 在Django中也可以使用类来定义一个视图,称为类视图。 使用类视图可以将视图对应的不同请求方式 阅读全文
posted @ 2019-07-11 17:07 顽强的allin 阅读(778) 评论(0) 推荐(0) 编辑
摘要: 定义一个最简单的装饰器 # 用装饰器装饰以下两个函数 以上代码的输出结果为: 由此函数使用装饰器时,函数的函数名即 __name__已经被装饰器改变. 一般定义装饰器的话可以不用考虑这点,但是如果多个函数被两个装饰器装饰时就报错,因为两个函数名一样,第二个函数再去装饰的话就报错. 解决方案就是引入 阅读全文
posted @ 2019-07-09 15:26 顽强的allin 阅读(166) 评论(0) 推荐(0) 编辑