分类标签归档:Django

Django 2.0升级小记


备受期待的django 2.0已经发布了,最大的一个变化就是不再支持python2.x版本了,另外还有在使用方面有了一些变化,下面就介绍下我在升级的时候遇到的错误。

  • from django.core.urlresolvers import reverse
    

    变成了

    from django.urls import reverse
    
  • settings.py文件,MIDDLEWARE_CLASSES更改成了MIDDLEWARE

  • django.shortcuts.render_to_response()方法已经被弃用了,现在使用django.shortcuts.render()方法。

  • ...

Read more

本站支持微信公众号了


在最新释出的v4.0版本中,本站集成了微信公众号的功能,现在可以使用微信公众号来管理你的vps了。
默认情况下是图灵机器人自动回复的,输入admin之后开始验证密码,通过后进入命令模式,可以通过在后台配置一些命令来在这里执行并返回结果。

当然,也集成了一些基本的博客文章搜索等功能,后续会集成一些常用等api进来。 欢迎大家扫码关注本站。 qrcode

Read more

在Django中使用缓存


Django 是动态网站,一般来说需要实时地生成访问的网页,展示给访问者,这样,内容可以随时变化,但是从数据库读多次把所需要的数据取出来,要比从内存或者硬盘等一次读出来 付出的成本大很多。而使用缓存的话,可以将数据保存在缓存中,下次访问的时候直接从缓存中获得数据,而不用去请求后端数据库,这样服务器可以很快的响应请求,从而提高加载速度。下面简单介绍下Django中的缓存系统。

缓存配置

Django支持多种缓存,例如本地文件缓存,数据库缓存,memcache,locmem等,下面分别简单介绍下:

文件缓存

这个很简单,就是将数据缓存在指定的目录中。配置如下:

CACHES = {
    ...

Read more

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'
]

se...

Read more

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


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

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

from django.core.manageme...

Read more

为django添加RSS Feed功能


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

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

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

from django.contrib.sy...

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

Read more