Django
云丶图
人生苦短,我用python
展开
-
Django中间件了解并使用
中间件定义:是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。1.中间件有什么用如果你想修改请求,例如被传送到view中的HttpRequest对象。 或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现。可能你还想在view执行之前做...原创 2018-11-26 08:52:06 · 232 阅读 · 0 评论 -
Django Auth模块
Auth模块auth组件是django内置的用户认证系统,可以快速的实现,登录,注销,修改密码等。from django.contrib import auth1.创建用户python3 manage.py createsuperuser(只能创建超级用户,不能通过命令行创建普通用户)创建超级用户,输入用户名,邮箱(可以不写,默认NULL=True),密码,确认密码。在创建之前先执...原创 2018-11-27 08:35:43 · 253 阅读 · 0 评论 -
浅谈csrf-跨站请求伪造
浅谈csrf-跨站请求伪造1. 什么是CSRFCSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网...原创 2018-11-27 08:40:03 · 292 阅读 · 0 评论 -
Django的ContentType的使用
ContentType帮助我们快速连表,可以跟多个表做关联。比如:免费课程,收费课程,学位课程等跟价格策略关联。from django.db import modelsfrom django.contrib.contenttypes.models import ContentTypefrom django.contrib.contenttypes.fields import Gen...原创 2018-12-21 09:04:40 · 351 阅读 · 0 评论 -
跨域请求
跨域请求一.同源策略同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现请求的url地址,必须与浏览器上的url地址处于同域上,也就是域名,端口,协议相同.比如:我在本地上的域名是127.0.0.1:8000,请求另外一...原创 2018-12-17 15:57:30 · 138 阅读 · 0 评论 -
python实现发送邮件
python实现发送邮件一 使用SMTP模块发送邮件import smtplibfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagefrom email.header import Headermsg_from = '***@qq.com' # 发送方邮箱passwd = '****' ...原创 2019-01-15 18:52:29 · 8120 阅读 · 0 评论 -
Django拾遗----------长期更新中。。。
Django拾遗1.事务操作# 事务操作 from django.db import transaction with transaction.atomic():2.数据库查询优化defer('id','name'):取出对象,字段除了id和name都有only('id','name'):取的对象,只有id和name如果点,依然能点出其它列,但是不要点了,因为取没有的...原创 2019-01-15 19:23:37 · 241 阅读 · 0 评论 -
手撸简易版ORM(单表的增删该查)
CustomORM.pyfrom Mysql_single import Mysqlclass Fileld(object): ''' Fileld是父类 ''' def __init__(self, name, column_type, primary_key, default): self.name = name sel...原创 2019-02-03 11:19:44 · 390 阅读 · 0 评论 -
超实用代码,让用户个人配置代替默认配置,仿Django的golbal_settings源码
废话不多说,直接上代码。golbal_settings是默认配置。import osimport importlibfrom . import golbal_settingsclass Setting(object): ''' 配置类,仿照Django的配置 ''' def __init__(self): # 先拿默认的配置 ...原创 2019-02-14 15:30:44 · 160 阅读 · 2 评论 -
Django的forms组件使用
forms组件校验字段功能渲染标签功能渲染错误信息功能组件的参数配置局部钩子(能走到它,说明前面校验已经通过了,一定能把该字段的值取出来)全局钩子(能走到它,前面的全都执行过了,包括局部钩子)在做密码判断的时候,一定要注意,可能密码取出来为空models.pyclass UserInfo(models.Model): name=models.CharField(max_...原创 2018-11-26 08:47:14 · 316 阅读 · 0 评论 -
Django的Cookie与Session
一.Cookie1.cookie的由来大家都知道HTTP协议是无状态的。无状态的意思就是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。而状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就不会保留这些数据,但会话产生的数据优势我们需要保存的,也就是保存状态。比如说:网上购物。当我们...原创 2018-11-22 20:00:10 · 124 阅读 · 0 评论 -
Django之视图层相关
Django视图层视图层,熟练掌握两个对象即可:请求对象(request)和响应对象(response)一.Request对象1.1 request属性django将请求报文中的请求行、首部信息、内容主体封装成 request 类中的属性。 除了特殊说明的之外,其他均为只读的。'''1.request.GET 一个类似于字典的对象,包含 HTTP GET 的所有参数。详情请参考...原创 2018-11-09 08:44:05 · 140 阅读 · 0 评论 -
Django之路由控制URL
一.URL1.Django中路由的作用URL与要为该URL调用的视图函数之间的映射表,就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行.from django.urls import pathurlpatterns = [ path('test', views.test),]test,浏览器输入这个链接,就会响应到test这个函数来执行...原创 2018-11-07 16:05:54 · 181 阅读 · 0 评论 -
Django之ORM及单表操作
一.ORM,单表操作1.ORM简介ORM即Object Relational Mapping,全称对象关系映射。1 优点: 1 不用写sql,不会sql的人也可以写程序 2 开发效率高2 缺点: 1 可能sql的效率低3 如何使用: 如果连接mysql:在setting里配置: 'default': { 'ENGINE': 'django...原创 2018-11-07 20:23:09 · 137 阅读 · 0 评论 -
Django之多表操作
一.多表操作1.创建模型假如有以下几个模型及关系:作者模型:一个作者有姓名和年龄。作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一的关系(one-to-one)出版商模型:出版商有名称,所在城市以及email。书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关...原创 2018-11-13 17:05:11 · 233 阅读 · 0 评论 -
Django之模板层相关
一.Django------模板层1.模板简介模版语法重点: 变量:{{ 变量名 }} 1 深度查询 用句点符 2 过滤器 标签:{{% % }}2.模版语法之变量views.pyfrom django.shortcuts import renderfrom django.utils.safestring import mark_safe# Creat...原创 2018-11-12 14:26:14 · 193 阅读 · 0 评论 -
Django分页器组件的使用
分页器组件1.Django的分页器(paginator)在页面显示分页数据,需要用到Django分页器组件导入:from django.core.paginator import PaginatorPaginator对象: paginator = Paginator(user_list, 10)# per_page: 每页显示条目数量# count: 数据总个数# num...原创 2018-11-20 16:38:24 · 378 阅读 · 1 评论 -
Django的Ajax
Ajax一.什么是AjaxAJAX(Asynchronous Javascript And XML),就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;异步交互:客户端发出一个请求后,无需等...原创 2018-11-19 18:20:49 · 150 阅读 · 0 评论 -
Django内置信号
Django内置信号Django提供一种信号机制。其实就是观察者模式,又叫发布-订阅(Publish/Subscribe) 。当发生一些动作的时候,发出信号,然后监听了这个信号的函数就会执行。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。用于在框架执行操作时解耦。Model signals pre_init # djan...原创 2019-05-15 11:28:07 · 218 阅读 · 0 评论