上一节已经学习了,如何给时间,标签,分类,来分类。这一节学习下如何把这些内容写到页面上去
匹配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 article in article_list %}
{{ article.summary }}
{% endfor %}

预览
django 之个人主页框架实现_第1张图片

在主题里面通过link导入不同的css文件,给每个人设置不同的样式
django 之个人主页框架实现_第2张图片