Posts

自定义django admin后台的action

提到强大的django,最能引起大家共鸣的可能是其自带的admin了,提供了默认的强大的功能,而且我们还能根据自己的需求进行定制。django admin的列表页自带了一个批量删除所选对象的action,我们还可以添加自定义的功能action来实现其他功能,比如批量标记将文章标记为已发布。如下代码:

django下url函数的用法

Django下有一个比较隐含的函数url,在django/conf/urls/defaults模块中,虽然只有短短的10行代码,但功能却很了得。起初初学Django,并没有发现它,Templates的链接地址都是根据urlpatterns定义的地址,拼凑成地址字符串,很难看,而且Templates里拼凑成的地址,随着页面的增加而不断增加,一旦在urlpatterns里的某个地址改变了名称,那眼泪可是哗哗的,有多少的拼凑的地址就得改动多少处!这时发现了url函数,这下可都好了,不管urlpatterns里的某个地址叫法怎么改变,Templates里的地址都不用修改了。

比如没有采用url函数的时候:urlpatterns里定义了资讯的首页地址,

urlpatterns = patterns('',
    (r'^article$','news_index' ),
)

django国际化问题

最近准备用用django的国际化功能,用的django1.6.5版本,按照网上说的教程始终不生效,最终只能去看官方文档,不得不说还是官方文档靠谱啊,下面记录了下django1.6+启用国际化的相关步骤。

Memcached的一些坑!!!

我们的网站用django跑了很久了,一直没出现什么大的问题,突然一天晚上网站访问超级慢,出现大量的502错误码,难不成用户量猛增么,要是这样就好了。请教了很多运维高手帮忙排查问题、代码也回滚到上一个正常运行的版本了,但依然负载一会高一会低。

捣腾了一天,最后定位到我们的代码有问题,有几个经常访问的API缓存了15分钟,经过分析发现其中一个API始终缓存不上,但在本地和测试环境都是没有问题的,这真是搞死人啊。后面发现这个API的请求的数据非常之大,接近2M了。而Memcache有很多限制,其中就有value值大小的限制,终于找到问题了,泪牛满面啊……