分类标签归档: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...

Read more

使用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...

Read more

为django的manage.py添加自定义命令


有时候会有这样的需求,为django执行一些定时任务,比如通知搜索引擎,例如百度,提交网站的一些地址给他们,通过为djangomanage.py添加自定义命令可以很容易的解决这个问题。下面介绍下如何添加。

首先需要在创建好的应用的根目录创建文件夹名为management的目录,然后继续在该目录创建commands的目录,并在两个目录中都要创建__init__.pypython文件。 目录创建好之后继续在commands的目录中添加ping_baidu.py文件,文件名将会是manage.py的命令名. 目录结构如下: 文件目录结构
然后是代码:

from django.core.mana...

Read more

为django添加RSS Feed功能


先简单介绍下RSS:

RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章、新闻、音频或视频的网摘。RSS文件(或称做摘要、网络摘要、或频更新,提供到频道)包含全文或是节录的文字,再加上发布者所订阅之网摘数据和授权的元数据。

其实就是一种聚合阅读,这样可以用feedly等工具来订阅你喜欢的网站,这样他们的网站更新了之后你就可以通过feedly这种工具来阅读更新的内容,而不用跑到网站上面去查看。

下面介绍下如何在你的Django网站中添加RSS功能,其实很简单,示例代码如下: 创建feed.py

from django.contrib.syn...

Read more

为django添加sitemap功能


sitemap是 Google 最先引入的网站地图协议,采用 XML 格式,它的作用简而言之就是优化搜索引擎的索引效率,详细的解释可以参考 维基百科。

下面介绍下如何为Django站点添加sitemap功能。

启用sitemap

djangosettings.pyINSTALLED_APPS中添加

'django.contrib.sites',
'django.contrib.sitemaps',

然后migrate数据库:

./manage.py makemigrations
./manage.py migrate

登陆Django后台,修...

Read more