django 之个人主页框架实现

上一节已经学习了,如何给时间,标签,分类,来分类。这一节学习下如何把这些内容写到页面上去
匹配url
url(r'^(\w+)/$', views.home),
创建home函数

from django.db.models import Count def home(request,site): blog = models.Blog.objects.filter(site=site).first() if not blog: return redirect('/') category_list = models.Article.objects.filter(blog=blog).values('category_id','category__title').annotate(ct=Count('nid'))tag_list = models.Article2Tag.objects.filter(article__blog=blog).values('tag_id','tag__title').annotate(ct=Count('id'))date_list = models.Article.objects.filter(blog=blog).extra(select={'ctime':"strftime('%%Y-%%m',create_time)"}).values('ctime').annotate(ct=Count('nid'))article_list = models.Article.objects.all()#return HttpResponse('......')return render( request, 'home.html', { 'blog':blog, 'category_list':category_list, 'tag_list':tag_list, 'date_list':date_list, 'article_list':article_list } )

创建home页面
Title - 锐客网 {{ blog.title }}--{{ blog.user.nickname }}文章分类
    {% for category in category_list %}
  • {{ category.category__title }}({{ category.ct }})
  • {% endfor %}
标签分类
    {% for tag in tag_list %}
  • {{ tag.tag__title }}({{ tag.ct }})
  • {% endfor %}
时间标签
    {% for date in date_list %}
  • {{ date.ctime }}({{ date.ct }})
  • {% endfor %}
{% for article in article_list %}{{ article.summary }}{% endfor %}

预览

在主题里面通过link导入不同的css文件,给每个人设置不同的样式

【django 之个人主页框架实现】转载于:https://blog.51cto.com/sgk2011/2105256

    推荐阅读