1. 安装Sentry pip install sentry-sdk==0.13.5 2.在settings.py中配置 sentry_sdk.init( dsn="https://*************@sentry.io/1879284", integrations=[DjangoIntegration()], send_default_pii=True ) 3.dsn的获取 在下面这个网站注册一个sentry账号,然后创建一个project,就可以拿到了.(这个是sentry…
Reference: http://www.cnblogs.com/esperyong/archive/2012/12/20/2826690.html 接着上面的3篇讨论文章,我们阐述了Django中如何使用Authentication系统进行,用户的创建,登陆,登出,完成了用户的认证.接下来,我们要看另外一个议题,那就是Authorization授权.在Django中这部分使用Permission来简单完成的.在这篇文章中,我们要对Permission进行一下研究. Django中的Permi…
Django中提供了"信号调度",用于在框架执行操作时解耦. 一些动作发生的时候,系统会根据信号定义的函数执行相应的操作 Django中内置的signal Model_signals pre_init # Django中的model对象执行其构造方法前,自动触发 post_init # Django中的model对象执行其构造方法后,自动触发 pre_save # Django中的model对象保存前,自动触发 post_save # Django中的model对象保存后,自动触发 p…
Django中Middleware中间件 1 Middleware中间件概述 django中间middleware实质就是一个类,django会根据自己的规则在合适的时机执行中间件相应的方法.实际上当我们想在发起请求到服务器views处理函数,我们想对请求做一些提前处理,此时中间件就上场了. django在settings模块中,有一个MIDDLEWARE_CLASSES变量,其中每一个元素就是一个中间件. 在settings.py文件中: MIDDLEWARE = [ 'django.midd…
sqlite数据迁移 1 数据备份 django中打开terminalpython manage.py dumpdata authorization > authorization_data.json 2 表结构同步 django中创建mysql数据库并更新配置settings创建slave数据库迁移数据库表 python manage.py migrate --run-syncdb --database slave #init中添加导入import pymysqlpymysql.install…
装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓存.权限校验等场景.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用. # 简单的 装饰器 from functools import wraps # 装饰器修复 def wrapper(func): @wraps(func) # 装饰器修复 def…
在平时的开发过程中,我们会遇到一些特殊的应用场景,如果你想要在执行某种操作之前或者之后你能够得到通知,并对其进行一些你想要的操作时,你就可以用Django中的信号(signals).Django 提供一个“信号分发器”,允许解耦的应用在框架的其它地方发生操作时会被通知到,也就是说在特定事件发生时,可以发送一个信号去通知所有注册了这个信号的回调,在回调里进行想要的操作处理. 一.Django内置信号 Django内置了对数据表,migrate命令,url请求相关(request/response)…
Django 资源 与 知识 Django中自建脚本并使用Django环境 model中的save()方法说明 filter()用法 2018/11/06 Chenxin 资料说明 Django基础入门 http://www.liujiangblog.com/blog/36/ 版本2.1.3 Django晋级教程 http://www.liujiangblog.com/course/django/2 版本1.11.6 其中的"综合篇"里有不少是实际项目会碰到的问题.实战里有个开源的CM…
一.ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 二.Django中的ORM django中使用Mysql数据库 DATABASES = { "default": { "ENGINE": "dj…
Django中的CSRF(跨站请求伪造) Django CSRF  什么是CSFR 即跨站请求伪装,就是通常所说的钓鱼网站. 钓鱼网站的页面和正经网站的页面对浏览器来说有什么区别? (页面是怎么来的?) 钓鱼网站的页面是由 钓鱼网站的服务端给你返回的 正经网站的网页是由 正经网站的服务端给你返回的 CSFR示例 模拟钓鱼网站中的转账操作 通常用户在正规网站进行转账操作,网页页面由正规网站服务端提供,数据返回到正规网站的服务端,而钓鱼网站页面与正规网站页面无异,但是会将用户输入的数据进行修改后返回…
路由系统 根据Django约定,一个WSGI应用里最核心的部件有两个:路由表和视图.Django框架 的核心功能就是路由:根据HTTP请求中的URL,查找路由表,将HTTP请求分发到 不同的视图去处理: url() 函数有四个参数,两个必须的: regex 和 view , 两个可选的: kwargs , 以及 name url() 参数: regex    regex 是 regular expression 的简写,这是字符串中的模式匹配的一种语法, 在 Django 中就是是 url 匹配…
Django中常用的那些模块路径 from django.shortcuts import HttpResponse, render, redirect from django import template from django.conf.urls import url from django.urls import path from app01 import views from django.conf.urls import include, url from django.urls…
今日内容概要 celery介绍,架构 celery 快速使用 celery包结构 celery执行异步任务 celery执行延迟任务 celery执行定时任务 django中使用celery 定时更新轮播图接口 内容详细 1.celery介绍,架构 # celery: 分布式(放在多台机器)的 异步任务 框架 Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 Celery is a project with minimal funding, so we don't support…
简介 大量过时的日志会占用硬盘空间,甚至长时间运行不注意会占满硬盘导致宕机,那么就可以使用内建logging模块根据文件大小(logging.handlers.RotatingFileHandler)或者时间(logging.handlers.TimedRotatingFileHandler)进行日志轮转.使用细节参考python官方文档 问题 在django中使用时通常如下(只截取了RotatingFileHandler部分配置示例): LOGGING = { 'version': 1, 'd…
一 Python操作Redis之普通连接 #先安装 pip3 install redis import redis r = redis.Redis(host='127.0.0.1', port=6379) r.set('foo', 'Bar') print(r.get('foo')) 二 Python操作Redis之连接池 #使用connection pool来管理对一个redis server的所有连接,避免每次建立.释放连接的开#销.默认,每个Redis实例都会维护一个自己的连接池.可以直接…
什么是Redis? Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值可以包括字符串(strings)类型,同时它还包括哈希(hashes).列表(lists).集合(sets)和 有序集合(sorted sets)等数据类型. 对于这些数据类型,你可以执行原子操作.例如:对字符串进行附加操作(append):递增哈希中的值:向列表中增加元素:计算集合的交集.并集与差集等.…
平时使用的是pycharm,所以这篇文章主要也是使用pycharm默认创建的django项目为基础进行讲解.项目目录如下图: 1.URL的配置 当创建好项目后,运行项目就可以看到django默认的页面.那么怎么访问自己创建的页面呢? 因为django是类MVC的开发模式.这里面就涉及到配置URL的问题.创建一个自己的APP(也可以称为一个模块),包含的文件内容如下图: 然后需要在setting.py的文件INSTALLED_APPS中注册新创建的App: 新创建项目的默认url配置如下: fro…
一:创建django项目 1.django-admin startproject mysite # 创建mysite项目 2.django-admin startapp app01# 创建app01应用 二:安装vue 1.首先安装node.js,官网地址:https://nodejs.org/zh-cn/download/ 2.使用npm淘宝镜像,避免npm下载速度过慢的问题 npm install -g cnpm --registry=https://registry.npm.taobao.…
在django中,如果用到buffer类型时,buffer的编码格式是utf-8类型.使用str()进行转为字符串类型会异常. 异常会有如下提示:'ascii' codec can't decode byte 0xe5 这是由于python中str默认采用ascii编码导致的,需要通过以下代码手动将str编码转换为utf-8即可 import sys reload(sys) sys.setdefaultencoding('utf8')…
Python Django中QQ邮箱授权码问题 系统及软件版本如下: Ubuntu Kylin 16.04 Python 3.5.1 Django 1.9.7 PyCharm Community Edition 2016.1.4 问题 在学习用Django写一个博客的过程中,需添加一个邮件分享功能,在使用QQ邮箱发送邮件的时候碰到了问题. 在设置文件settings.py中添加以下设置: EMAIL_HOST = 'smtp.qq.com' EMAIL_HOST_USER = '24604908…
为什么要学redis 1.redis是内存 no-sql 数据库,相比mysql等硬盘数据库效率高 2.在内存值配置数据库使用,而不直接使用内存,redis存储的数据是可以管理的 3.memcache也是内存数据库,且django默认采用的就是memcache数据库,用redis替换memcache的路由很简单,后者更强大 redis支持更多的数据类型 redis自带缓存机制,出现数据库系统崩溃数据也是可以有找回的功能 redis可以主动完成数据持久化(自带数据持久化功能) redis的数据过期…
一.Django中的请求 Django Web中从一个http请求发起,到获得响应返回html页面的流程大致如下: http请求发起 经过中间件 http handling(request解析) url mapping(url匹配找到对应的View) 在View中进行逻辑(包括调用Model类进行数据库的增删改查) 经过中间件 返回对应的template/response. 同步请求:所有逻辑处理.数据计算任务在View中处理完毕后返回response.在View处理任务时用户处于等待状态,直到…
Django中修改DATABASES后,执行python manage.py ****报错!UnicodeEncodeError: 'latin-1' codec can't encode character '\u2028' in position 9:ordinal not in range(256). 为了这个错误找了无数网页,花费数小时,结果在于配置的用户名密码是从微信电脑端上面复制过来的,里面有个分隔符(‘\u2028’),愚蠢的人类终于被自己蠢哭了!!! 解决方案:老老实实自己输入,…
扫盲 首先带大家了解一下什么是MVVM模式: 什么是MVVM?MVVM是Model-View-ViewModel的缩写. MVVM是MVC的增强版,实质上和MVC没有本质区别,只是代码的位置变动而已 从名字上看,MVVM比MVC架构中多了一个ViewModel,没错,就是这个ViewModel,他是MVVM相对于MVC改进的核心思想.在开发过程中,由于需求的变更或添加,项目的复杂度越来越高,代码量越来越大,此时我们会发现MVC维护起来有些吃力,首先被人吐槽的最多的就是MVC的简写变成了Massi…
MTV框架之VIew(业务控制器) 关注公众号"轻松学编程"了解更多. 1.什么是视图 视图层=路由表(urls.py)+视图函数(views.py) 其角色相当于MVC中的Controller 其职能是协调models和Template的关系,并解除其耦合 过程 路由表接收用户请求,并分配给相应的视图函数进行处理 视图函数调用模型(数据库)获取数据 视图函数将数据交给模板渲染 视图函数将渲染结果返回给客户端 2.路由定义 定义路由响应函数 url(r'^hehe/(\d+)/', v…
MTV框架之Template(模板/界面) 关注公众号"轻松学编程"了解更多. 1.模板目录位置 应用下 不需要注册 无法跨应用地进行复用 工程下 需要注册 settings.py范例 # django默认的模板配置 TEMPLATES = [ { ..., # 模板路径 'DIRS': [ os.path.join(BASE_DIR, 'templates'), ], ... }, ] 可以在不同应用中复用 1.1Django框架自带模板位置 2.模板语法 2.1 读取数据 {{ x…
MTV框架之Model(数据模型) 关注公众号"轻松学编程"了解更多. 1.连接MySQL数据库 项目中的settings.py设置范例 # 配置数据库 DATABASES = { 'default': { # 数据库引擎 'ENGINE': 'django.db.backends.mysql', # 数据库名称 'NAME': 'axf', # 账号和密码 'USER': 'root', 'PASSWORD': '123456', # IP和端口 'HOST': 'localhost…
说明 RSA算法是当今使用最广泛,安全度最高的加密算法. • RSA算法的安全性理论基础 [引]根据百科介绍,对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠.假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降.但找到这样的算法的可能性是非常小的.今天只有短的RSA钥匙才可能被强力方式解破.到目前为止,世界上还没有任何可靠的攻击RSA算法的方式.只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解…
Python单元测试简介及Django中的单元测试 单元测试负责对最小的软件设计单元(模块)进行验证,unittest是Python自带的单元测试框架. 单元测试与功能测试都是日常开发中必不可少的部分,本文演示了Python中unittest单元测试框架的基本使用. 来看一个简单的测试用例 定义一个类,简单的实现add.sub两个方法,并对其进行单元测试. 待测试的m1.py文件内容如下: class MyClass(object): """just a test case&…
今日内容概要 python连接redis redis字符串操作 redis之hash操作 redis之列表操作 redis其他 通用操作,管道 django中使用redis 内容详细 1.python连接redis # 安装模块: pip install redis # django中有没有连接池? 没有,django中一个请求就会创建一个mysql连接,django并发量不高,mysql能撑住 想在django中使用连接池,有第三方: https://www.cnblogs.com/wangr…