当前位置: 首页 > 后端技术 > Python

Django20200408博客开发009

时间:2023-03-25 22:50:15 Python

添加新功能:但是代码很多,可以使用annotate来简化:使用annotate提高精简:代码:fromdjango.db.modelsimportCountdefget_blogs_list_common_data(request,blogs_all_list):...#context['blog_types']=BlogType.objects.all()#context['blog_types']=blog_types_listcontext['blog_types']=BlogType.objects.annotate(blog_count=Count('blog'))...具体如图:也按日期归档了多少条数据:views.pydefget_blogs_list_common_data(request,blogs_all_list):...ifpage_range[-1]!=paginator.num_pages:page_range.append(paginator.num_pages)#获取博客条数对应日期存档blog_dates=Blog。objects.dates('created_time','month',order='DESC')blog_dates_dict={}forblog_dateinblog_dates:blog_count=Blog.objects.filter(created_time__year=blog_date.year,=blog_time__.)blog_dates_dict[blog_date]=blog_count...context['blog_types']=BlogType.objects.annotate(blog_count=Count('blog'))#context['blog_dates']=Blog.objects.dates('created_time','month',order="DESC")context['blog_dates']=blog_dates_dictreturncontextblog\_list.html...日期归档

    {#
  • 2020年4月
  • #}{#02月0#li>2}<}{forBlog_date,blog_countinBlog_dates.items%}
  • ({{{blog_count}})
  • {%endfor%}
效果:精简:精简代码代码因为有转成list再提取的过程,比较复杂,不如原来的方法!所以没有修改!