云中小站
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链
  • 旧博客
  •   
  •   

Python实现设计模式之抽象工厂

python实现设计模式中的抽象工厂模式再讲到抽象工厂模式之前,先简要谈一谈自己对于简单工厂和工厂模式的理解。 一、简单工厂简单工厂:简单工厂只有一个工厂存在,让子类决定实例化哪一个类,通常接住if判断条件,实例化不同的类。 优点:思想简单易行,通过用户来控制实例化的类,适用于简单的场景 缺点:违背了软件工程中的开闭原则,当增添额外的条件时候,需要修改工厂类。 例子: 1234567891011

2020-05-28
Python 设计模式
Python 设计模式

SpringMVC中@RedisTemplate的装配的问题

RedisTemplate的装配的问题把项目中遇见的问题记下来,做个笔记,比敲一阵子代码要更有成就! 一、背景初入Springmvc,使用redis,不像django给你封装的挺好。就踩了一些坑,什么版本不对的问题,什么通过注解方式无法创建redis的bean对象(装载到容器失败),子容器父容器扫描冲突等等。 这次遇到的是常见bean对象失败的错误。 解决方案不要使用@Autowired按类型注

2020-05-27
Redis SpringMVC
Redis SpringMVC

Django的login_required装饰器与ajax搭配的小技巧

login_required是什么?login_required是django提供的装饰器之一,主要用于检验用户进入该页面前,是否已经登录,如果用户没有认证,重定向到setting.py中LOGIN_URL字段值的路由。采用?next=连接登录后跳转的页面。重定向登录页面,登录后,将会跳转到?next=后面所接的路由。 12345678910111213# 使用装饰器@login_required

2020-05-24
Django
Django

Django中的pk和id的关系

① django中的pk代表了每一个model中的主键,也就是只要model中存在主键,不管主键字段名是什么,都可以用pk来获取主键值。 ② django中的id,只有在默认使用django创建的主键,或者自己创建的主键叫做id(这样反而画蛇添足),而不自己创建其他名字的主键,那么此时pk==id,但是如果自己创建了其他情况下,就要使用相应的主键名来获取值,但是,pk此时同样也可以获得到自定义的主

2020-05-23
Django
Django

python 使用celery实现定时任务

python使用celery实现定时任务celery是python的第三方包,在django中也可以使用,只不过需要手动进行配置相关配置信息。 很多情况下需要定时的执行某些任务,例如我的博客中,需要每天凌晨5点更新当天的笔记记录情况,主要用于热点图的可视化工作。选定某一个时间更新,加上增加缓存就可以有效的降低服务器的压力。 或者在其他业务中也经常用到定时任务进行数据库的维护或者定时爬虫,生日定时消

2020-05-23
Python Celery
Python Celery

Python批量将word文档转换类型

python将word文档转为需要的格式 比如在查重时候,要求文档格式统一,那么就可以批量对文档进行转化 1234567891011121314151617181920212223242526272829303132333435import osfrom win32com import client as wcimport timedef save_doc_to_docx(raw_path, ne

2020-05-22
Python
Python

Nginx 上传文件过大的问题

文件上传过大被nginx拦截的问题解决花了半小时最近了个上传文件的功能,有效的解决了qq收作业,各种消息轰炸的局面,但是针对一些上传文件过大的内容,nginx会限制报错,例如充满图片的ppt。 出现错误: 2020/05/21 15:27:58 [error] 1701#1701: *26 client intended to send too large body: 10998982 bytes

2020-05-22
Nginx
Nginx

Django使用多个backends的小问题

用户面临登录的时候,可以有不同的登入方式,可以手机号,邮箱,用户名,第三方登录等。那么我们就需要重写后端认证类。但是有些情况下会出现多个backend认证。使用login()方法的时候,会报错。 具体错误: You have multiple authentication backends configured and therefore must provide the backendargum

2020-05-19
Django
Django

Django 如何加载settings.py 的源码分析

Django加载setting.py的核心过程的源码分析先简单总结一下大致的过程: django项目启动编译,先加载global_settings.py中的配置,然后再加载根目录下的settings.py并利用反射机制进行覆盖。 原理步骤分析: 首先从入口manage.py分析:12345678910111213141516171819202122import osimport sysdef ma

2020-05-19
Django
Django 源码分析

MySQL底层索引结构分析

Mysql底层索引结构分析mysql数据库底层所采用的是B+树,那么B+树的索引结构,又是怎么推导出来的呢?为什么Mysql选用B+树作为索引结构,而不是二叉树,平衡二叉树,红黑树或是B树呢?今天来分别学习一下这些树的结构。 一、二叉树二叉树应该是我们学习数据结构的一开始就接触的树结构。二叉树的性质就是左子树的所有节点的值小于当前根结点,右子树的所有节点的值大于当前根结点。假设二叉树作为索引结构,

2020-05-17
MySQL
MySQL
1…910111213…20

搜索

司云中

Hexo Fluid GitHub
总访问量 次 总访客数 人
苏ICP备20018683 苏ICP备20018683