为micolog增加热门文章功能
micolog实际上是输出了最近的5篇文章的,但是对我们来说,首页上已经显示了,最近文章这个功能就有些鸡肋。弄个热门文章或者随机推荐可能更加实用一些。
要整这个功能,你最好已经为micolog增加了阅读次数统计的功能,要不当blog上面的评论比较少的时候用起来可能不是非常满意(我的这个倒是热门里面都是因为评论多哈)
1.在model.py文件中的类Blog中,大概是138行的那个def recentposts(self):函数下面(return下面啊),增加函数(注意缩进,要与recentposts对齐):
[code lang='python' style='vs']
def hotposts(self, num = 7):
return Entry.all().filter('entrytype =', 'post').order('-commentcount').order('-readtimes').fetch(num)
[/code]
2.在index.yaml文件中,增加
[code lang='yaml' style='vs']
- kind: Entry
properties:
- name: entrytype
- name: commentcount
direction: desc
- name: readtimes
direction: desc
[/code]
3.修改你的模板文件(template里面的那些html),在你需要的地方增加
[code lang='django' style='vs']
{%endfor%}
{% for entry in blog.hotposts %}
{{entry.title}}
[/code]
注意,如果你没有增加阅读次数统计的功能,是没有readtimes变量的,上面的代码会出错。
将代码更新到GAE上面后,要耐心等待10分钟才能见到效果,如果直接访问一定是500错误,连blog首页都访问不了(我前一阵子一直因为这个,反复修改代码上传,浪费了不少时间)。
---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/07/30/popular-articles-to-increase-functionality-for-micolog.html
---------------------------------------------------------------
您可能会喜欢:
原来要等待十分钟,弄得我用了大半天也没成功,在这里受用了!
随机文章又是怎样做呢?
@edikud
就是整个随机数,在fetch的时候,指定offset为那个随机数就好了呗。当然得控制一下几篇文章中的随机数不能一样
代码方面我不懂呀!真接照着搬的我就会,哈哈!
@edikud
呵呵,那晚上到家了整一个
amoxicillin doseage for parrots 8-((( 4 day buspar taper 703 pregnancy after taking yasmin :-]]] claritin doesn27t work kufrke