修正micolog文章中前一post与后一post的混乱问题
yanjingtu童鞋留言说,文章详情页中的上一篇与下一篇是不正确的,问能不能修复,我观察了一下,发现模板中用的是entry的next属性与prev属性。所以就跑到model.py去查看,果然徐老大的代码是按照post_id来排序而不是时间。
此文章是在踩坑后极度郁闷的情况下写的,不喜欢废话的童鞋请直接看红色字
想着改起来也很简单啦,就是把model.py文件中大概406行的函数体改成
[code lang='python' style='vs']
return Entry.all().filter('entrytype =','post').filter('published =', True).order('date').filter('date >', self.date).fetch(1)
[/code]
大概414行改成
[code lang='python' style='vs']
return Entry.all().filter('entrytype =','post').filter("published =", True).order('-date').filter('date <',self.date).fetch(1)
[/code]
本以为上传后就ok了呢,结果……苍天啊,大地啊,万恶的google啊,点击详情页总是返回500。尝试只修改414行那个就没问题,一修改406行那个就500。最后实在不明白咋回事了,只好乱翻google的文档(虽然这个还从来没有好好看过一遍),后来发现里面有个索引配置,不会如果没配置索引,google就拒绝查询请求吧。于是查找index.yaml文件,发现里面确实是有一条索引正好能用的
[code lang='yaml' style='vs']
- kind: Entry
properties:
- name: entrytype
- name: published
- name: date
direction: desc
[/code]
但是direction只能满足要修改的414行查询,不能满足要修改的406行查询,难道建的索引还这么傻?于是在index.yaml中添加
[code lang='yaml' style='vs']
- kind: Entry
properties:
- name: entrytype
- name: published
- name: date
[/code]
又试了一下,问题解决(如果你的数据多,可能在短时间内会出现500错误,稍等2分钟应该就会好),看来google这个真的弄得那么傻…今天算是踩到大坑上了,以后一定要把文档仔细看一遍,整整两个小时啊
感谢yanjingtu同学报的两个bug~~,另外这个页面ie6下错位的问题我手头没有ie6,先等一段时间改哈
您可能会喜欢:
ie6的市场占有率还是在60%多呢,加油哦,要优化博客才好
谢谢啦,确实好了!很好很强大!
我的博客在IE下的显示也有点不正常了,想换IE7了。。。
晕,google出错居然是这个问题,我之前改代码的时候也碰到了,刚好。
@houkai
用ifequal吧
,比如:
{% ifequal user.username "adrian" %}
…
{% endifequal %}
谢谢 搞定!!!
请教个问题 python如果判断两个字符串相等 比如 判断comment.email如果是hikefreeman@gmail.com,我用了以下方法都不对。我是在html里用的。
{%if comment.email=="hikefreeman@gmail.com" %}
{%if comment.email==‘hikefreeman@gmail.com’ %}
{%if comment.email<>‘hikefreeman@gmail.com’ %}
{%if {{comment.email}}==‘hikefreeman@gmail.com’ %}
请给个正确的答案。谢谢