09 2017 档案
摘要:同一台服务器上部署多个项目时,项目可能使用不同版本的django或者其它不同的python库,这种情况下可以使用virtualenv来创建独立的python运行环境,将不同项目的运行环境隔离出来。 virtualenv可以创建一个拥有自己安装目录的环境, 能够方便的管理python版本和管理pyth
阅读全文
摘要:Celery 4.0支持django1.8及以上的版本,低于1.8的项目使用Celery 3.1。 一个django项目的组织如下: 首先建立proj/proj/celery.py文件: 然后要保证django项目启动时上述的app被载入,修改proj/proj/__init__.py文件: 现在就
阅读全文
摘要:django项目开发中遇到过一些问题,发送请求后服务器要进行一系列耗时非常长的操作,用户要等待很久的时间。可不可以立刻对用户返回响应,然后在后台运行那些操作呢? crontab定时任务很难达到这样的要求 ,异步任务是很好的解决方法,有一个使用python写的非常好用的异步任务工具Celery。 br
阅读全文
摘要:在动态网站中,用户每次请求一个页面,服务器都会执行以下操作:查询数据库,渲染模板,执行业务逻辑,最后生成用户可查看的页面。 这会消耗大量的资源,当访问用户量非常大时,就要考虑这个问题了。 缓存就是为了防止重复计算,把那些消耗了大量资源的结果保存起来,下次访问时就不用再次计算了。缓存的逻辑: Djan
阅读全文
摘要:有些项目可能涉及到使用多个数据库的情况,方法很简单。 1.在settings中设定DATABASE 比如要使用两个数据库: 这样就确定了2个数据库,别名一个为default,一个为user。数据库的别名可以任意确定。 default的别名比较特殊,一个Model在路由中没有特别选择时,默认使用def
阅读全文
摘要:要自己写一个存储系统,可以依照以下步骤: 1.写一个继承自django.core.files.storage.Storage的子类。 2.Django必须可以在无任何参数的情况下实例化MyStorage,所以任何环境设置必须来自django.conf.settings。 3.根据Storage的op
阅读全文