- 博客(67)
- 资源 (1)
- 收藏
- 关注
原创 键入域名发生了啥
dns服务器解析域名。但是为了访问dns服务器进行解析请求,首先要知道默认网关的mac地址,为了知道默认网关的mac地址,就要发送arp。在知道了默认网关的mac地址后,就可以发送向dns服务器的请求数据到默认网关,默认网关进行转发。路由器转发该请求,发送该请求到dns服务器,dns服务器接收后回应该请求,最后主机获得域名ip,此时才解析完域名。向服务器发送tcp的3次握手。主机获得ip后,将...
2019-01-27 15:50:17
256
原创 tcp 三次握手 四次挥手
四次挥手:为什么⑥和⑦不一起发?因为⑦需要服务器close客户端的套接字,但不是及时的,为了保证响应及时,就需要⑥比⑦早发为什么是客户端先发送关闭请求(close())?按图上所示,第一个发送close()的一边会在最后等待一段时间来接收对面的可能有的seq,因为客户端发起connect无需绑定端口,所以客户端可以随便等待如果是服务器先发关闭请求(close()),那么最后...
2019-01-26 22:05:04
189
2
原创 python 一些记录
osos.path.isdir(param) param需要相对路径/绝对路径str.format数字格式化"{:2f}".format(23.454363) 注意要有冒号
2019-01-25 23:37:36
233
原创 编写高质量代码改善python的91个建议-个人收集-截至第四章
目录list1将常量集中在一个文件里list2使用assert数据交换不推荐用中间变量充分利用lazy_evaluation的特性少用eval()使用enumerate()获取序列迭代的索引和值==和islist3节制的使用from_importi+=1不等于i++使用with自动关闭资源使用join和formatfinally中的陷阱xx解析式默...
2019-01-15 00:24:39
281
原创 django登陆/注册跳转回原来的页面
模版中在模版中将登陆/注册的跳转链接后添加查询字符串,将当前页面的路径一起发送过去 <a href="{% url 'user_login' %}?from={{ request.get_full_path }}">对应的视图函数中将获得的查询字符串拼接到根url路径就可以了def user_login(request): if request.method == ...
2019-01-07 16:28:33
1755
原创 python编程练习(长期)
后期做标注给元组的元素命名类似其他语言的枚举类型,定义一些列数值常量使用标准库中 collections.namedtuple 替代内置 tupleperson = ('jack', 22, 'male')&quot;&quot;&quot; 方案1 类似其他语言的枚举类型,定义一些列数值常量&quot;&quot;&quot;NAME, AGE, SEX = range(0, 3)prin
2019-01-06 00:06:20
860
原创 Django 添加ckeditor
步骤安装ckeditor pip install django-ckeditor安装app# settings.pyINSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions'...
2019-01-05 21:32:32
530
原创 基于51的可扩展功能太阳能充电夜灯
缘由半夜起床去交水费,又不想开灯浪费电,所以萌生做一个夜灯的想法。思路递进近年来各种集成模块方便购买和使用,所以就做一个纯电路的夜灯插着电...
2018-12-26 16:16:24
803
2
原创 树莓派3b+ 安装 raspbian stretch lite ,网络共享和其他配置
安装系统下载树莓派下载网址下载最小镜像版注意选择 Download Torrent, 使用种子换迅雷下载比较快烧写用 SD Card Formatter 格式化用 Win32DiskImager 烧写 上面解压好的img镜像注意win10会跳出来是否格式化,直接取消,后面的弹窗就有successful窗口配置开启SSH连接使用powershell(windows下win...
2018-12-16 00:23:17
4394
原创 Django项目(2)-自定义User模型
需要自定义User模型的原因需要前后台共同同一个账号。字段需要自己定义,以及验证也需要自己设置from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManagerfrom django.db import modelsfrom shortuuidfield import...
2018-12-03 20:53:02
431
原创 Django项目(1)-配置
Django预先配置工作:都在setting.py中设置配置好数据库。DATABASES = {'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': "v1", "HOST": "127.0.0.1", 'USER': "root", "
2018-12-03 18:55:43
143
原创 前端-鼠标移入即显示二维码
思路将需要的显示的二维码用div生成固定在某个位置,然后display:none,移动鼠标到指定元素就display:block显示即可。html:<ul class="social-group"> <li class="wechat"> <span class="text">微信</span>
2018-11-26 17:08:02
4346
原创 pip安装jupyter
安装在cmd中键入以下内容pip install --upgrade pippip install jupyter更改启动目录键入(forDA) C:\Users\TheUserName&gt;jupyter notebook --generate-configWriting default config to: C:\Users\TheUserName\.jupyter\ju...
2018-11-19 20:32:21
2205
原创 Django2.0-redis
笔记在知了课堂-Django开发基础上修改redis教程概述redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string,list列表[队列和栈],set[集合],sorted set[有序集合],hash(hash表))。相关参考文档:http://redisdoc.c...
2018-11-19 14:46:41
704
原创 Django2.0-验证和授权(4)-Group 分组
分组权限有很多,一个模型就有最少三个权限,如果一些用户拥有相同的权限,那么每次都要重复添加。这时候分组就可以帮解决这种问题了,可以把一些权限归类,然后添加到某个分组中,之后再把需要赋予这些权限的用户添加到这个分组中,就比较好管理了。分组使用的是django.contrib.auth.models.Group模型, 每个用户组拥有id和name两个字段该模型在数据库被映射为aut...
2018-11-18 17:51:50
422
原创 Django2.0-验证和授权(4)-权限
权限Django中内置了权限的功能。都是针对表(模型级别)的。比如对某个模型上的数据是否可以进行增删改查操作。不能针对数据级别的,比如对某个表中的某条数据能否进行增删改查操作(如果要实现数据级别的,考虑使用django-guardian)。创建完一个模型后,针对这个模型默认就有三种权限,分别是增/删/改。在执行完migrate命令后,查看数据库中的auth_permission表中的...
2018-11-18 17:49:15
745
原创 Django2.0-验证和授权(3)-User登陆,注销,登陆限制
登录、注销和登录限制登录在使用authenticate进行验证后,如果验证通过了。那么会返回一个user对象,拿到user对象后,可以使用django.contrib.auth.login进行登录。这里使用的models是继承自AbstractBaseUser的模型# models.pyfrom django.contrib.auth.models import AbstractBas...
2018-11-18 17:43:08
481
原创 Django2.0-验证和授权(2)-User模型拓展
扩展用户模型代理模型Django内置的User模型虽然已经足够强大了。但是有时候还是不能满足的需求。比如在验证用户登录的时候,默认使用的是用户名作为验证,但一般通过手机号码或者邮箱来进行验证。或者需要增加一些新的字段。那么这时候就需要扩展用户模型了。如果只是需要在默认的基础之上增加一些操作的方法。则使用代理模型的方法# models.pyfrom django.db import mo...
2018-11-18 17:37:23
645
原创 Django2.0-验证和授权(1)-User模型基本用法
授权系统Django有一个内置的授权系统。包括:用户。权限。分组。一个可以配置的密码哈希系统。一个可插拔的后台管理系统。默认中创建完一个django项目后,其实就已经集成了授权系统。在INSTALLED_APPS中django.contrib.auth:包含了一个核心授权框架,以及大部分的模型定义。django.contrib.contenttypes:Content ...
2018-11-18 17:21:08
275
原创 Django2.0-中间件
笔记知了课堂-Django开发基础上修改中间件中间件是在request和response处理过程中的一个插件。比如在request到达视图函数之前,我们可以使用中间件来做一些相关的事情,比如可以判断当前这个用户有没有登录,如果登录了,就绑定一个front_user对象到request上。也可以在response到达浏览器之前,做一些相关的处理,比如想要统一在response上设置一些cooki...
2018-11-16 15:04:23
262
原创 Django2.0-上下文处理器
模板笔记借鉴了知了课堂-Django开发上下文处理器上下文处理器是可以返回一些数据,在全局模板中都可以使用。比如登录后的用户信息,在很多页面中都需要使用,那么我们可以放在上下文处理器中,就没有必要在每个视图函数中都返回这个对象。在settings.TEMPLATES.OPTIONS.context_processors中,有许多内置的上下文处理器。django.template.con...
2018-11-16 15:02:58
580
原创 Django2.0-cookie和session
笔记在知了课堂-Django开发的基础上更改cookie和sessioncookie和session使用:web开发发展至今,cookie和session的使用已经出现了一些非常成熟的方案。在如今的市场或者企业里,一般有两种存储方式:存储在服务端:通过cookie存储一个sessionid,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个se...
2018-11-15 16:46:30
771
原创 Django2.0 memcached介绍和使用
笔记在知了课堂-Django开发的基础上更改memcached什么是memcachedmemcached之前是danga的一个项目,最早是为LiveJournal服务的,当初设计师为了加速LiveJournal访问速度而开发的,后来被很多大型项目采用。官网是www.danga.com或者是memcached.org。Memcached是一个高性能的分布式的内存对象缓存系统,全世界有不少公...
2018-11-15 14:39:15
449
原创 Django2.0-表单(4)-文件上传
笔记在知了课堂-Django开发的基础上更改文件上传前端实现在前端中,需要填入一个form标签,然后在这个form标签中指定enctype="multipart/form-data",不然就不能上传文件。在form标签中添加一个input标签,然后指定input标签的name,以及type="file"。以上两步的示例代码如下:&lt;!DOCTYPE html&gt;&
2018-11-15 14:29:02
411
6
原创 Django2.0-表单(3)-ModelForm
笔记在知了课堂-Django开发的基础上更改ModelForm表单中的Field和模型中的Field基本上是一模一样的,而且表单中需要验证的数据,也就是模型中需要保存的。那么这时候可以将模型中的字段和表单中的字段进行绑定。比如现在有个User的模型。from django.db import modelsclass User(models.Model): username = ...
2018-11-15 14:24:47
369
原创 Django2.0-表单(2)-表单的FIeld,验证器,提取错误字段
笔记在知了课堂-Django开发的基础上更改用表单验证数据常用的Field使用Field可以是对数据验证的第一步。你期望这个提交上来的数据是什么类型,那么就使用什么类型的Field。可以通过表单类实例.cleaned_data.get("field_name")获得值CharField用来接收文本。参数:max_length:这个字段值的最大长度。min_length:这个字段...
2018-11-15 14:22:12
822
原创 Django2.0-表单(1)-Form使用
笔记在知了课堂-Django开发的基础上更改Django中的表单Django中的表单丰富了传统的HTML语言中的表单。在Django中的表单,主要做以下两件事:渲染表单模板。(不常用,容易前后端耦合)表单验证数据是否合法。Django中表单使用流程在一个app中新建一个forms.py,定义一个表单类,继承自django.forms.Form。Field字段名称在html中对应的...
2018-11-15 14:16:15
767
原创 Django2.0-views(10)-错误处理
错误处理在一些网站开发中。经常会需要捕获一些错误,然后将这些错误返回比较优美的界面,或者是将这个错误的请求做一些日志保存。那么我们本节就来讲讲如何实现。常用的错误码404:服务器没有指定的url。403:没有权限访问相关的数据。405:请求的method错误。400:bad request,请求的参数错误。500:服务器内部错误,一般是代码出bug了。502:一般部署的时候见得比...
2018-11-12 16:48:25
255
原创 Django2.0-views(9)-类视图添加装饰器
给类视图添加装饰器给类添加装饰器,那么可以通过以下两种方式来实现:装饰dispatch方法from django.utils.decorators import method_decorator # 给类的方法使用的装饰器def login_required(func): # 装饰器 def wrapper(request,*args,**kwargs): i...
2018-11-12 16:47:12
389
原创 Django2.0-views(8)-添加分页
添加分页使用 bootstrap3BootCDN免费CDN加速服务<!-- 最新版本的 Bootstrap 核心 CSS 文件 --><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha...
2018-11-12 16:45:32
151
原创 Django2.0-views(7)-类视图,paginator,page
类视图在写视图的时候,Django除了使用函数作为视图,也可以使用类作为视图。使用类视图可以使用类的一些特性,比如继承等。Viewdjango.views.generic.View是主要的类视图。所有的类视图都是继承于他。如果写自己的类视图,也可以继承于他。然后再根据当前请求的method,来实现不同的方法。比如这个视图只能使用get的方式来请求,那么就可以在这个类中定义get(sel...
2018-11-12 00:27:16
397
原创 Django2.0-views(6)-csv文件
笔记在知了课堂-Django开发的基础上更改生成CSV文件有时候我们做的网站,需要将一些数据,生成有一个CSV文件给浏览器,并且是作为附件的形式下载下来。、生成小的CSV文件用Python内置的csv模块来处理csv文件,并且使用HttpResponse来将csv文件返回回去。import csvfrom django.http import HttpResponsedef csv...
2018-11-11 21:58:44
614
原创 Django2.0-views(5)-JsonResponse
JsonResponse用来对象dumps成json字符串,然后返回将json字符串封装成Response对象返回给浏览器。并且他的Content-Type是application/json。from django.http import JsonResponsedef index(request): return JsonResponse({"username":"zhiliao"...
2018-11-11 21:54:59
541
原创 Django2.0-views(4)-HttpResponse对象
笔记在知了课堂-Django开发的基础上更改HttpResponse对象Django服务器接收到客户端发送过来的请求后,会将提交上来的这些数据封装成一个HttpRequest对象传给视图函数。那么视图函数在处理完相关的逻辑后,也需要返回一个响应给浏览器。而这个响应,我们必须返回HttpResponseBase或者他的子类的对象。而HttpResponse则是HttpResponseBase用得...
2018-11-11 21:53:43
313
原创 Django2.0-views(3)-WSGIRequest对象和QueryDict对象
笔记在知了课堂-Django开发的基础上更改WSGIRequest对象Django在接收到http请求之后,会根据http请求携带的参数以及报文信息创建一个WSGIRequest对象,并且作为视图函数第一个参数传给视图函数。也就是我们经常看到的request参数。该类继承于HttpRequst在这个对象上我们可以找到客户端上传上来的所有信息。这个对象的完整路径是django.core.hand...
2018-11-11 21:50:48
265
原创 Django2.0-views(2)-重定向
重定向重定向分为永久性重定向和暂时性重定向,在页面上体现的操作就是浏览器会从一个页面自动跳转到另外一个页面。比如用户访问了一个需要权限的页面,但是该用户当前并没有登录,因此我们应该给他重定向到登录页面。永久性重定向:http的状态码是301,多用于旧网址被废弃了要转到一个新的网址确保用户的访问,最经典的就是京东网站,你输入www.jingdong.com的时候,会被重定向到www.jd.co...
2018-11-11 21:48:43
690
原创 Django2.0-views(1)-限制请求装饰器
常用的请求methodGET请求: 一般用来向服务器索取数据,但是不会向服务器提交数据,不会对服务器的状态进行更改。POST请求:一般是用来向 服务器提交数据,会对服务器的状态进行更改。限制请求装饰器Django内置的视图装饰器可以给视图提供一些限制。比如限制某个视图只能通过GET的method访问等。以下是一些常用的内置视图装饰器。django.views.decorators...
2018-11-11 21:47:09
773
转载 Django2.0-db(12)-根据已有的表自动生成模型
笔记在知了课堂-Django开发的基础上更改根据已有的表自动生成模型:在实际开发中,有些时候可能数据库已经存在了。如果我们用Django来开发一个网站,读取的是之前已经存在的数据库中的数据。那么该如何将模型与数据库中的表映射呢?根据旧的数据库生成对应的ORM模型,需要以下几个步骤:Django给我们提供了一个inspectdb的命令,可以非常方便的将已经存在的表,自动的生成模型。想要使用...
2018-11-11 12:03:46
2110
1
转载 Django2.0-db(11)-ORM模型迁移
笔记在知了课堂-Django开发的基础上更改ORM模型迁移迁移命令:makemigrations:将模型生成迁移脚本。模型所在的 app,必须放在 settings.py中的INSTALLED_APPS中。这个命令有以下几个常用选项:[app_label]:后面可以跟一个或者多个app,那么就只会针对这几个app生成迁移脚本。如果没有任何的app_label,那么会检查INSTAL...
2018-11-11 12:01:54
372
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人