django
django知识分享
小火skr车
思考后再编程,不要在疲倦时编程
展开
-
Django学习笔记(三十):短息验证接口
这里提供一个互亿无线的短信验证码发送接口注册有免费试用机会,可供大家学习使用短信验证码的使用# 接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。# 账户注册:请通过该地址开通账户http://sms.ihuyi.com/register.html# 注意事项:# (1)调试期间,请用默认的模板进行测试,默认模板详见接口文档;# (2)请使用APIID(查看A...原创 2018-09-28 11:00:48 · 332 阅读 · 0 评论 -
Django学习笔记(二十九):Cookie与Session的区别
Cookie数据存放在浏览器端,Session数据存放在服务器端 Cookie存在不安全性,别人可以分享存放在本地的Cookie进行Cookie欺骗 Session会在一定时间内保存在服务器上,当访问增多时,会占用服务器性能 服务器端的Session的实现对客户端的Cookie有依赖关系 服务器执行Session机制时会生成Session的id值,这个id值发送给客...原创 2018-09-27 14:31:12 · 180 阅读 · 0 评论 -
Django学习笔记(一):MVC/MVT的介绍
MVC的简介m:model,是应用程序中用于处理应用程序数据逻辑的部分v :view,是应用程序中用于处理数据显示的部分c :Controller,控制器,接收用户的输入调用模型和视图完成用户的请求,是应用程序中用于处理数据显示的部分 MTV的简介m:model,负责业务对象和数据库的对象(ORM)t:template,负责把页面展示给用户v:view,负责业务逻辑...原创 2018-07-28 15:14:34 · 364 阅读 · 0 评论 -
Django学习笔记(二):新建一个Django工程
创建虚拟环境 安装:sudo apt install virtualenv 创建一个虚拟环境: virtualenv 你的虚拟环境名字(比如newvenv) 如果需要python变成python3 要加参数 -p /usr/bin/python3 例如:virtualenv 虚拟环境名字 -p /usr/bin/python3.6 激活使用一个虚拟环境 source ...原创 2018-07-28 16:27:08 · 304 阅读 · 0 评论 -
Django学习笔记(三):三种关系模型的实例
一对一:通过外键+unique唯一约束实现#一对一def get_bankcard(request): bankcard = BankCard.objects.all() return render(request,'get_bankcard.html',locals())def get_person(request,pid): #person = Person....原创 2018-07-28 16:44:43 · 2220 阅读 · 0 评论 -
Django学习笔记(四):django常用查询函数
聚合函数使用aggregate()函数返回聚合函数的值Avg:平均值Count:数量Max:最大值Min:最小值Sum:求和使用案例from django.db.models import Sumfrom django.http import HttpResponsefrom django.shortcuts import renderfrom .mo...原创 2018-07-28 18:39:36 · 731 阅读 · 0 评论 -
Django学习笔记(五):model继承和模板语法基础
model继承使用场景:当不同model出现很多重复的字段时,我们可以考虑给他们写一个合理的抽象类使用方法:class Humen(models.Model): name = moedls.charField( max_length=20, verbose_name='人名' ) age = models.IntergeFiel...原创 2018-07-28 19:18:08 · 392 阅读 · 0 评论 -
Django学习笔记(六):反向解析
反向解析根据命名空间和url名字找到对应的处理逻辑使用方法1,在工程的urls.py导入include方法 加入namespce来定义你的命名空间url(r'^study05/',include("study05.url",namespace="study05"))(第一个"study05"用于路径使用,例如:localhost:12345/study/lolstu第二...原创 2018-07-28 19:45:56 · 292 阅读 · 0 评论 -
Django学习笔记(七):前端页面知识点
页面继承 1, 在基础页面 确定占位 占了位置(挖了哪些坑) 1 js引用 2 CSS 引用 3 网页结构 4 额外的js css页面内代码 2 ,语法 {%block 名字%} {%endblock%} 3,继承{%extends '文件名字'%}{%load static%}接下...原创 2018-07-28 20:42:43 · 560 阅读 · 0 评论 -
Django学习笔记(八):Django实现简单注册登录操作
用户注册逻辑思路:1,先拿参数2,校验参数格式和对应的用户名字要求3,校验该用户是不是被注册过4,果然没被注册就创建一条用户数据5,使用重定向将用户引导至登录页面进行登录代码实现注意:create_user用来创建用户#导入系统自带的用户模型form django.contrib.auth.models import User#获取前端输入数据para...原创 2018-07-29 23:02:04 · 691 阅读 · 0 评论 -
Django学习笔记(九):自定义用户和基本使用操作
自定义用户模型1,在models.py文件下新建一个继承自AbstractUser的用户模型类2,,在settings文件中添加#在新建项目homework01下自定义的MyUserAUTH_USER_MODEL = "homework01.MyUser"3,拓展自己需要的字段4,生成迁移文件,进行迁移备注:如果迁移失败,需要先将数据库中的用户表已经与用户相关联的表进行...原创 2018-07-29 23:53:20 · 281 阅读 · 0 评论 -
Django学习笔记(十):关于中间件的介绍
中间件在Django处理的请求的各个处理阶段,可以插入自己的逻辑介于request与response处理之间的一道处理过程、轻量级在全局上改变django的输入、输出从浏览器发出一个请求requset,得到一个响应后的内容HttpResponse每一个请求都是先通过中间件中的process_requset函数如果proocess_request函数返回None,继续处理其他...原创 2018-07-30 11:14:54 · 198 阅读 · 0 评论 -
Django学习笔记(十一):上传图片
实现图片上传的方法1,在models.py中新建模型中添加icon属性字段,使用models.imageField2,前端相应操作from表单上传文件需要添加enctype='multipart/form-data'文件上传必须使用POST请求方式至少要包含一个类型是file的input标签3,后端相应操作在static文件夹下创建uploads用与存储接收上传的文...原创 2018-07-30 16:42:38 · 229 阅读 · 0 评论 -
Django学习笔记(十二):获取随机字符串和分页功能
获取随机字符串import uuid import hashlibdef get_random_str(): #获得uuid值 uuid_val = uuid.uuid4() #将uuid值转成字符串 uuid_str = str(uuid_val).encode("utf-8") #获得md5实例 md5 = hashli...原创 2018-07-30 17:31:35 · 654 阅读 · 0 评论 -
Django学习笔记(十三):生成图片验证码和校验逻辑
生成图片验证码思路1,获得一个画布2,实例化一个画笔3,实例化字体4,使用画笔,画对应的字符5,保存验证码图片6,将生成的四字随机字符,写入seesion 留着验证用7,将图片返回给浏览器views.py代码实现from PIL import Image,ImageDraw,ImageFontimport randomimport io#获得随机颜...原创 2018-07-30 21:08:19 · 552 阅读 · 0 评论 -
Django学习笔记(十四):admin站点管理
站点管理创建超级用户python manage.py runserver createsuperuser管理我们自己的类1,在admin.py里注册我们自己的类到系统的站点管理,最简单的写法admin.site.register(你的类名)2,在站点管理界面显示想要看到的字段from django.contrib import adminfrom .models...原创 2018-07-30 22:26:50 · 261 阅读 · 0 评论 -
Django学习笔记(十五):缓存的两种方式:数据库方式和redis方式
数据库方式1,在settings.py里加数据库配置CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', 'LOCATION': 'my_cache_table', 'TIMEOUT': '60', 'OPT...原创 2018-07-31 11:20:15 · 526 阅读 · 0 评论 -
Django学习笔记(十六):邮件发送
邮件发送在settings配置文件,添加如下内容EMAIL_USE_SSL = TrueEMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.comEMAIL_PORT = 465EMAIL_HOST_USER = environ.get("EMAIL_SENDER") # 帐号EMAIL_HOST_PASSWORD = en...原创 2018-07-31 12:02:51 · 806 阅读 · 0 评论 -
Django学习笔记(十七):邮箱验证码生成和校验激活
邮箱验证码的生成思路1,生成一个随机字符串2,拼接用于激活的url连接3,将随机字符串和发送的那个邮箱保存到缓存(需要添加缓存配置)4,创建激活页面5,将激活页面发送给对应的账号6,写验证连接对应的API,在里面完成验证新建my_util.py文件,写入随机生成字符串方法my_util.py代码import uuidimport hashlib#生成...原创 2018-07-31 15:30:21 · 375 阅读 · 0 评论 -
Django学习笔记(十八):CSRF
## Django防止攻击的原理 浏览器第一次和Django服务交互的时候 Django服务会在浏览器的cookie里加入csrftoken 也会在form里加入一个隐藏值 自己也在后台保存一份设置的那个随机字符串 以后如果有比如post请求的时候 服务器会去校验浏览器带过来的值是不是和服务保存一致,不一致的话 返回给浏览器403状态码## 使用...原创 2018-07-31 15:31:59 · 201 阅读 · 0 评论 -
Django学习笔记(十九):测试文件(text.py)
测试的作用就不多说了,因为我也不知道,哈哈哈哈或或上代码,看效果忘了说一个重要的事情就是,这里的测试数据在一个临时的数据表中存储,不会在数据表中生成from django.test import TestCasefrom .models import Categoryclass CategoryMethodTests(TestCase): def test_ensure...原创 2018-08-30 19:23:49 · 965 阅读 · 0 评论 -
Django学习笔记(二十):model模型查询
查询集查询集表示从数据库获取的对象集合查询集科研有多个过滤器 过滤器返回查询集的方法称为过滤器过滤器就是一个函数,基于所给的参数限制查询集结果all() 返回所以数据filter() 返回符合条件的数据exclude() 过滤掉符合条件的数据values() 一条数据就是一个字典,返回一个列表get() 返回一个满足条件的对象first()...原创 2018-08-01 16:56:22 · 631 阅读 · 0 评论 -
Django学习笔记(二十一):自定义管理工具
自定义管理工具使用场景当系统给我们提供的objects不满足你全部需求的时候,你可以定义一个管理类比如:我需要经常给木叶村添加忍者使用方法在models.py代码写一个继承models.Manager的一个类,在这个类里写自己额外的需求#实现迅速生成木叶村的忍者class StudentManager(models.Manger): def create_s...原创 2018-08-01 20:26:40 · 355 阅读 · 0 评论 -
Django学习笔记(二十二):Celery简介和实现基础的异步操作
Celery简介Celery是一个基于python开发的分布式异步消息,通过他可以轻松的实现任务的异步处理应用异步调用:那些用户不关心的但是又存在在我们API里面的操作,我们就可以用异步调用的方式来优化(例如发送邮件,头像上传)定时任务:定期去统计日子,数据备份,或者其他的统计任务 Celery的相关概念task需要执行的任务worker负责干活的小弟b...原创 2018-08-07 10:58:29 · 305 阅读 · 0 评论 -
Django学习笔记(二十三):Celery异步操作发送邮件
异步操作发送邮件在settings.py里添加邮箱配置from os import environ# 邮件配置EMAIL_USE_SSL = TrueEMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.comEMAIL_PORT = 465EMAIL_HOST_USER = environ.get("EMAIL_SENDER...原创 2018-08-07 14:35:15 · 1587 阅读 · 0 评论 -
Django学习笔记(二十四):Celery里的定时任务
定时任务在settings.py中添加定时任务配置CELERYBEAT_SCHEDULE = { #任务名称,长度不限,尽量详细说明 'every-10-seconds-run-first_task':{ #第一个参数(homework)指app名, #第三个参数(first_task)指调用tasks.py下的哪一个方法 ...原创 2018-08-07 16:22:26 · 1251 阅读 · 0 评论 -
Django学习笔记(二十五):Froms表单的使用
在学习Froms表单提交数据前,我一直是直接将数据提交到models模块(ORM),学习到表单提交数据时,方才知道其便利之处。本章说明如何通过 Web 表单捕获数据。Django 提供的表单处理功能简单明了,根据 Django 文 档,通过这个功能可以做到:➊ 自动生成 HTML 表单的小组件(例如文本字段或ǿ期选择器);➋ 检查提交的数据是否满足验证规则;➌ 遇到验证错误时重新显...原创 2018-08-30 10:33:53 · 1937 阅读 · 0 评论 -
Django学习笔记(二十六):阅读计数和优化计数(防刷新)
阅读计数主要就是记录网页被浏览的次数,防刷的方法就是记录浏览的cookie,使每个cookie只能增加一次阅读数,当然,删除cookie和关闭浏览器就可以重新增加阅读数,更加优化的方法还在学习中,先分享这个我会的models.py的代码class Books(models.Model): #创建书名和阅读数属性 bname = models.CharField(max...原创 2018-09-12 11:46:20 · 361 阅读 · 0 评论 -
Django学习笔记(二十七):xadmin使用初体验
在网上看到很多xadmin的安装使用教程,很多都比较笼统,可能是对于大牛来说这个太简单了,最后看到一个比较详细的版本,然后跟着敲终于成功了,这里分享给大家1,安装xadminpip install xadmin2,在settings.py文件中的INSTALLED_APPS添加配置INSTALLED_APPS = [ 'django.contrib.admin',...原创 2018-09-12 15:04:18 · 352 阅读 · 0 评论 -
Django学习笔记(二十八):服务器的试用和Nginx部署
因为博主穴力,所以一开始的学习都是在虚拟机上进行的,项目学习的差不多了,是时候学习一下部署了特意在某云上买了个服务器,试试水,看看能不能再15天试用期完成部署的全部操作练习 先在云主机上设置账密,这样方便在xshell上使用在xshell中新建连接,输入主机ip,再输入用户名和密码就能完成连接连接成功开始一个django项目之前,我们需要搭建一个虚拟环境和确认pyt...原创 2018-09-13 10:41:44 · 215 阅读 · 0 评论 -
Django_restframework
Django_restframework中的view的继承关系GenericViewSet(viewset) -drf GenericAPIView -drf APIView -drf View -djangoMixinsCreateModelMixin(object)ListModelMin...原创 2018-09-03 17:06:44 · 409 阅读 · 0 评论 -
Django学习过程中的BUG
(1)在django_restframework的分页配置bug在settings中配置rest_framework的“PAGE_SIZE”,页面中未出现分页效果,REST_FRAMEWORK = { 'PAGE_SIZE':10,}原因,在rest_framework的原生settings.py文件中看到'DEFAULT_PAGINATION_CLASS':None解...原创 2018-09-03 16:16:20 · 323 阅读 · 0 评论