gavin@kingda.ocry.com

  • 内容:blog/views.py def index(request): ... #hot = Article.objects.all().order_by('?')[:10]#随机推荐 #hot = Article.objects.filter(tui__id=3)[:10] #通过推荐进行查询,以推荐ID是3为例 hot = Article.objects.all().order_by('views')[:10]#通过浏览数进行排序 context = { ... 'hot':hot, } return render(request, 'index.html', context) 又发现一个bug,我们做热点文章排行是根据views字段的取值从大到小排序,但是直接使用order_by(‘views’),系统默认的正序查询是由小到大,这就不是热点查询了成了冷点查询,所以必需使用order_by(‘-views’)来实现反序查询,请纠正代码,谢谢

  • 内容:所有功能页面函数都需要修改,不仅仅是索引页函数,不然就会出现点击某个导航按钮到某个分类下,导航又不一致了,另外,脑洞大的可以不必非要使用index字段作为排序,直接使用分类名category.name作为排序也很好,不用一个个去修改index数值,导航按钮会自动使用分类名的首字母或者汉字自动排序,这也非常棒,因为导航按钮多了的话,排序目的要的是方便网页浏览者检索,而并不是要遵循网站作者的思路一定要安插一个所谓的逻辑顺序,尤其这个逻辑顺序不被网站造访者所轻易掌握和接收的情况下。

  • 内容:<p>全站都已经部署完毕,基本没有问题,自己又研究优化了后台很多布局不合理的地方,教程这一步有一个没有完善好的地方就是导航按钮排序的问题,既然Category模型创建了一个index字段作为排序,此教程却遗漏了这个字段的真正作用,结果导致导航菜单的排序依然按照Category的id来排序,无论怎么修改index数值都没用,不过稍有变通的人,知道依照allarticle去修改allcategory,在此帮你更正,请及时修改教程: ``` blog/views.py from .models import Category #从models里导入Category类 def index(request): allcategory = Category.objects.all().order_by('index') #通过Category表查出所有分类并按照索引字段排序 #把查询出来的分类封装到上下文里 context = { 'allcategory': allcategory, } return render(request, 'index.html', context)#把上下文传到index.html页面 ```