Django 是动态网站,一般来说需要实时地生成访问的网页,展示给访问者,这样,内容可以随时变化,但是从数据库读多次把所需要的数据取出来,要比从内存或者硬盘等一次读出来 付出的成本大很多。而使用缓存的话,可以将数据保存在缓存中,下次访问的时候直接从缓存中获得数据,而不用去请求后端数据库,这样服务器可以很快的响应请求,从而提高加载速度。下面简单介绍下Django中的缓存系统。 缓存配置 Django支持多种缓存,例如本地文件缓存,数据库缓存,memcache,locmem等,下面分别简单介绍下: 文件缓存 这个很简单,就是将数据缓存在指定的目录中。配置如下: CACHES = { ...
分类标签归档:Django
django删除视图缓存
在django中可以使用cache_page的方式来缓存视图,但是如何删除指定视图的缓存呢?在文档中没找到清除的方式,但是在Google的时候找到了解决方案,我自己本地测试可以使用,不确定将来的版本会不会无效,下面先介绍下解决办法: 核心功能是这些: def expire_view_cache(path, servername, serverport, key_prefix=None): from django.http import HttpRequest from django.utils.cache import get_cache_key
request...
使用django-compressor压缩混淆静态文件
使用django-compressor压缩混淆静态文件 django-compressor可以把js/css等静态文件压缩,这样有利于减少网站的请求次数,还能节省网络带宽。 下面介绍下如何在django中集成django-compressor 安装django-compressor 安装很简单,pip安装下就可以了: pip install django-compressor 然后在'setting'的INSTALLED_APPS中添加 INSTALLED_APPS = [ #other 'compressor' ]
setting配置 首先确保dja...
为django的manage.py添加自定义命令
有时候会有这样的需求,为django执行一些定时任务,比如通知搜索引擎,例如百度,提交网站的一些地址给他们,通过为django的manage.py添加自定义命令可以很容易的解决这个问题。下面介绍下如何添加。
首先需要在创建好的应用的根目录创建文件夹名为management的目录,然后继续在该目录创建commands的目录,并在两个目录中都要创建__init__.py的python文件。
目录创建好之后继续在commands的目录中添加ping_baidu.py文件,文件名将会是manage.py的命令名.
目录结构如下:
然后是代码:
from django.core.mana...
为django添加RSS Feed功能
先简单介绍下RSS:
RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章、新闻、音频或视频的网摘。RSS文件(或称做摘要、网络摘要、或频更新,提供到频道)包含全文或是节录的文字,再加上发布者所订阅之网摘数据和授权的元数据。
其实就是一种聚合阅读,这样可以用feedly等工具来订阅你喜欢的网站,这样他们的网站更新了之后你就可以通过feedly这种工具来阅读更新的内容,而不用跑到网站上面去查看。 下面介绍下如何在你的Django网站中添加RSS功能,其实很简单,示例代码如下: 创建feed.py: from django.contrib.syn...
为django添加sitemap功能
sitemap是 Google 最先引入的网站地图协议,采用 XML 格式,它的作用简而言之就是优化搜索引擎的索引效率,详细的解释可以参考 维基百科。 下面介绍下如何为Django站点添加sitemap功能。 启用sitemap 在django的settings.py的INSTALLED_APPS中添加 'django.contrib.sites', 'django.contrib.sitemaps',
然后migrate数据库: ./manage.py makemigrations ./manage.py migrate
登陆Django后台,修...