11 2017 档案
摘要:由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者Redis中之前缓存的内容拿到
阅读全文
摘要:Django提供一种信号机制。其实就是观察者模式,又叫发布-订阅(Publish/Subscribe) 。当发生一些动作的时候,发出信号,然后监听了这个信号的callback函数就会执行。 Django内置信号 因为这些信号中并没有注册函数,所以运行时并没有调用触发这些信号 对于Django内置的信
阅读全文
摘要:中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。 每个中间件都会负责一个功能,例如,AuthenticationMiddleware,与sessions处理
阅读全文
摘要:上一篇已经简单介绍了Django的Form,现在开始进阶操作了 。。。。。 创建Form类的时候,主要涉及到Form字段和Form的插件,字段用于做form验证,插件用来生成HTML DjiangoForm的字段: 注:UUID是根据MAC以及当前时间等创建的不重复的随机字符串 查看源码可以发现Fi
阅读全文
摘要:Django的Form有两个基本用途: 1、用于生成html的Form表单 2、用于后台做表单验证 生成html 需要用到模板语言来渲染 ModelForm: 用来做admin的form验证 在使用Model和Form时,都需要对字段进行定义并指定类型,通过ModelForm则可以省去From中字段
阅读全文
摘要:关系分为三种: 一对一 :user2 = models.OneToOneField("UserInfo") 一对多:user = models.ForeignKey("UserInfo") 多对多:user3 = models.ManyToManyField("UserInfo") 删 改 查
阅读全文
摘要:Django的数据库配置: 1 django默认支持sqlite,mysql, oracle,postgresql数据库 2. 在django的项目中会默认使用sqlite数据库,如果要使用mysql,可在settings里如下设置: 需要注意的是: 仅仅上述更改还是会报错的: ORM关系映射 用于
阅读全文