1
hepochen 2012-11-20 11:35:32 +08:00
你在view_post中处理了内容,post.body = markdown(post.body)
而在list_blog中则没有任何的处理。 不建议放到view中处理,你可以直接在template中进行转义。 |
2
everyx OP @hepochen 谢谢你的回答,可是我在list_blog中进行了处理啊,
try: contacts = paginator.page(page) for i in range(len(contacts)): contacts[i].body = markdown(contacts[i].body) except PageNotAnInteger: contacts = paginator.page(1) except EmptyPage: contacts = paginator.page(paginator.num_pages) |
3
hepochen 2012-11-20 17:08:30 +08:00 1
自己看这个页面 http://everyx.in/blog/?page=1 ,应该就理解自己写的逻辑有问题了。
几个建议: 1, page可以直接走url,不要走GET, 如果一定走GET,那么这样处理 page = request.GET.get("page") --> page = request.GET.get("page", 1) 2, Post.objects.all().order_by('-created') 不可取 Post.objects.order_by('-created')会恰当些 3,markdown不建议放到view中处理,你可以直接在template中进行转义 4,for i in range(len(contacts)) --> for post in posts 可能更容易读懂 5,如果不想改当前的代码,那就把 for i in range(len(contacts)): contacts[i].body = markdown(contacts[i].body) 移到 finally 这个节点吧 |
4
hepochen 2012-11-20 17:11:35 +08:00
@everyx sorry,很久没碰django了 Post.objects.order_by('-created') 可能是错误的语法, Post.objects.filter().order_by('-created')
|
5
everyx OP @hepochen 谢谢提醒,原来在try里面对markdown进行parse,如果我的GET请求中没有page值得化就会有exception了,而我没有在捕获异常的流程里进行parse,Thx
|