python爱好者,爱好研究各项新技术
用户认证 auth模块 1 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.1 、authenticate() 提供了用户认证,即验证用户名以及密码是否正确,一般需要username password两个关键字参数 如果认证信息有效,会返回一个 User 对象。
Python玩转微信 大家每天都在用微信,有没有想过用python来控制我们的微信,不多说,直接上干货! 这个是在 itchat上做的封装 http://itchat.readthedocs.io/zh/latest/ 安装模块 pip3 install wxpy pip install wxpy -i "https://pypi.
在实际开发某个项目的时候我们经常需要建立的一个虚拟环境来开发,啥叫虚拟环境呢,说白了跟你正常开发环境没啥区别,只不过是这个开发环境和你别的开发环境是隔离的,这个虚拟环境所依赖的那些包(模块),不依赖全局环境的那些模块。
1.创建新项目 把静态文件夹的名字放在settings文件里面 STATIC_URL = '/static/' STATICFILES_DIRS=[ os.path.join(BASE_DIR,"static") ] 2.
最近研究了下Vue这个前端框架,不得不说这个前端框架很是厉害。不过对于习惯了jQuery的我来说,刚上手那会儿还是踩了很多的坑啊。那会儿觉得天啊,这个Vue框架特别的绕,并且也更复杂。不过待我写了几天之后又觉得,这个Vue还是挺好的,做的了前后端分离,,并且把前端分成了一个个的组件,变得更加灵活。
Django的分页器(paginator) view from django.shortcuts import render,HttpResponse # Create your views here.
forms组件 校验字段功能 针对一个实例:注册用户讲解。 模型:models.py class UserInfo(models.Model): name=models.
会话跟踪技术 1 什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。
Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。
多表操作 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄。 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。
ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“对象-关系-映射”的简称。
一个视图函数简称称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。
你肯能已经注意到我们在例子视图中返回文本的方式有点特别。 也就是说,HTML被直接硬编码在 Python代码之中。 def current_datetime(request): now = datetime.datetime.now() html = "It is now %s." % now return HttpResponse(html) 尽管这种技术便于解释视图是如何工作的,但直接将HTML硬编码到你的视图里却并不是一个好主意。
django不得不说是个很强大的框架,当前端给了我们一堆网页的时候,我们在考虑怎么去让这些页面与调用视图的函数配对的时候,而django则给我们提供了强大路由分发功能,让我们不在花时间浪费在这些事情上面,有更多的时间来考虑逻辑。
今天我们来学习django,在学习Django之前我们先来了解一下django和web开发中的http协议 1.mvc模型和mtv模型 既然学习Django,那么我们一定要只要web开发中的mvc模型和mtv模型 mvc模型 Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用.
Django的安装分为两种方式,一种是命令行安装,另外一种是pycharm安装。在这里只说一种在命令行里面安装的 1.命令行安装 这个自不必多说,直接上干货,如果遇到pip版本过低,安装失败的,请自自行按照命令行的提示更新pip版本。
协程 协程:是单线程下的并发,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。 对比操作系统控制线程的切换,用户在单线程内控制协程的切换 优点如下: #1.
线程 注意:进程是资源分配的最小单位,线程是CPU调度的最小单位. 每一个进程中至少有一个线程。 线程与进程的区别可以归纳为以下4点: 1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。
with用法 with用法在python中是一个很独特的用法,因为别的语言的中没有这个用法。所以针对这个特点我们来做一次总结,什么样的情况下可以同with 我们学到的有文件的操作,和acquire release 说道with首先要引入一个概念:上下文管理协议,支持该协议的对象内部要实现__enter__ () __exit__() 这两种方法 只要实现了这两种方法的对象,在做打开和关闭的操作时我们就可以直接用with来操作。
网络编程的一些基本概念: 1.地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址。
官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 正则表达式 字符组 正则 待匹配字符 匹配结果 说明 [0...
异常处理 回到顶部 什么是异常? 异常发生之后 异常之后的代码就不执行了 回到顶部 什么是异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常) 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) 如果捕捉成功则进入另外一个处理分支,执行你为其定制的逻辑,使程序不会崩溃,这就是异常处理 回到顶部 为什么要进行异常处理? python解析器去执行程序,检测到了一个错误时,触发异常,异常触发后且没被处理的情况下,程序就在当前异常处终止,后面的代码不会运行,谁会去用一个运行着突然就崩溃的软件。
什么叫做包:简单点说就是带_init_.py文件的文件夹就是包。当我们去调用这个包的时候其实是优先执行了包里面的_init_文件。而包里面的其他的py文件就是模块 1.当我们需要直接调用某模块的时候,而又不确定可不可以直接调用时,可以这样操作 import sys print(sys.path) 查看这个列表的第一项,你当前所在的py文件的文件夹目录就是第一项,而这个文件夹目录下的模块和包就是你可以调用的。
1.在python基础一里面我们讲到过python2x是用的assic编码 而python3x是用的utf-8的编码,编码的由来和一些规则。 Assic码 最开始美国人发明出来 只是能够打印英文字母和一些特殊字符 ,他们用8位来表示一个字符 2**8=256个 也就是用8个编码代码一个字符,...
---恢复内容结束--- 1.int 主要用作运算 2.str 字符串 用作存储少量的信息 便于传输 3.list 列表 存储大量数据 便于操作 ['alex','a',{'name':hehe'},'yyy'] 4.
一、python介绍 1.出生与应用 python是由龟叔在1989年的一个无聊圣诞节开发出来的,他可真是牛批。。。。开发了之后,python语言在程序员的世界里发展迅猛,到底有多牛逼,请看下图。
一、python2 的代码混乱 重复较多 冗余 因为当时来编写的人有C 语言的大牛 和 java的大牛等各种大神 所以里面都含有各种语言的影子 python3 经过龟叔的一个暑假的整理 终于在2018年11月 统一了代码 源码规范 清晰 简单优美。
---恢复内容开始--- 一、list 增加 append insert extend list = ['22','33','sd']list.append('33')(默认加到最后面)print(list)#['22', '33', 'sd', '33'] list.
装饰器的功能就是在不改变原程序代码和不改变原程序函数的调用方式而为原程序增加功能。 闭包函数 内层函数对外层函数的变量的引用(不是全局变量) 闭包:当函数开始执行时,如果遇到了闭包,他有一个机制,# 他会永远开辟一个内存空间,将必包中的变量等值放入其中,不会随着函数的执行完毕而消失 ...
形参中的动态参数 def func(a,b,*args,c='f',**kwargs): print(a) print(b) print(args) print(c) print(kwargs) func(9,2,3,4,45,6,c='3'...
函数出现的意义 为了避免重复造轮子 所以出现了函数 就是把某一特定的功能封装起来 def my_func(li): def为关键字 定义函数 my_func 为函数名命名和 变量命名一样 for i in li: count+...
f = open ('H:\\呵呵.txt',encoding='utf-8',mode='r') s = f.read print(s) f.close f:变量,f_obj,file,f_handler,...文件句柄。
列表和生成器表达式 #一行搞定,列表推导式:用列表推导式能够构建的任何列表,用别的都可以构建。#一行,简单,感觉高端。但是,不易排错。# li = [i for i in range(1,101)]# print(li)# l2 = ['python%s期' % i for i in range(...
执行函数的时候* 打散 定义函数的时候* 聚合 from functools import wraps def wrapper(f): # f = func1 @wraps(f) def inner(*args,**kwargs): #聚合 ...
---恢复内容开始--- 字典是由每一组键值对组成 每个键值对都是关系型数据,查询速度很快 通过二分法查找 dic = {'key':'value','name':'yy','hobby':'heheh','list':[2,3,'ee'],2:True .
面向对象编程类的概念 : 具有相同属性和技能的一类事物人类 抽象对象 : 就是对一个类的具体的描述具体的人 具体使用面向对象的好处: 使得代码之间的角色关系更加明确 增强了代码的可扩展性 规范了对象的属性和技能面向对象的特点:结局的不确定性 1 def Person(nam...
内置方法 isinstance 只能判断是否为父子类的关系 不能判断爷爷和孙子的关系(False) issubclass 判断是否有继承关系 只要有继承关系都为真 class C: def func(self):pass class A(C): def f...
# 写一个类 定义100个对象# 拥有三个属性 name age sex# 如果两个对象的name 和 sex完全相同# 我们就认为这是一个对象# 忽略age属性# 做这100个对象的去重工作 class Person: def __init__(self,name,age,sex): self.
元祖 对于元祖 如果一个元祖只有一个元素的时候,在元祖里面要加逗号,如果不加 此元素是什么数据类型该表达式就是这么数据类型 tu = (9) tu 的数据类型为int tu = (9,) tu的数据类型为tuple tu([2,3,4]) tu的数据类型为list 列表 在循环一个列表时,最好不要进行删除的动作(一旦删除,索引会随之改变),容易出错。
a = 20 b = 20 print(a==b) 这比较的是数值 print(a is b) 这是比较内存地址 is print(id(a)) 查看变量地址 小数据池 数字类型: 如果几个变量的值都为数字且都在-5~256 之间 则几个变量的的内存地址是一样的 这样的话就可以节省内存 空间 字符串: 1、如果存在特殊字符 则不存在小数据池 其他都不存在数据池 编码 python3x 中的编码: python3x 中 str 在内存中的编码方式是unicode。