小白博客---个人首页
回顾index.html
用户登录成功后session里面将会有用户的所有信息,
利用这些信息生成新的标签
<ul class="nav navbar-nav navbar-right"> {% if request.session.user_info %} <li> <a href="">{{ request.session.user_info.nickname }}</a> </li> {% if request.session.user_info.blog__site %} <li> <a href="/{{ request.session.user_info.blog__site }}.html">我的博客</a> #新标签 </li> <li> <a href="/backend/index.html">管理</a> #新街口,功能 </li> {% endif %} <li> <a href="/logout.html">退出</a> </li> {% else %} <li><a href="/login.html">登录</a></li> <li><a href="/register.html">注册</a></li> {% endif %} </ul>
点击我的博客,来到个人主页:
先看url:
我的博客标签携带个人的blog_site信息来访问
url(r'^(?P<site>\w+).html$',home.home),
views:
def home(request,site): blog=models.Blog.objects.filter(site=site).select_related('user').first() #通过site 查找数据库 if not blog: return redirect('/') # print("blog",blog.bid) tag_list=[] tags=models.Tag.objects.filter(blog=blog.bid) print("tags",tags) for item in tags: tags_list = {} print("itemtitle",item.title) tags_list["nid"]=item.nid tags_list["name"]=item.title tags_list["count"]=item.article_set.filter(blog=blog).count() tag_list.append(tags_list) print("tag_list",tag_list) #标签列表,和统计信息 # tag_obj=models.Tag.objects.filter(blog=blog.bid)[0] # article_count=models.Article.objects.filter(tags=tag_obj,blog=blog) # print("tag_obj",tag_obj.article_set.filter(blog=blog))#2222 # print("count",article_count) category_list=models.Category.objects.filter(blog=blog.bid) #此博客的文章按日期年月分组,并统计 date_list=models.Article.objects.raw( 'select nid,count(nid) as num,strftime("%Y-%m",create_time) as ctime from repository_article where blog_id='+str(blog.bid)+' group by strftime("%Y-%m",create_time)' ) article_list=models.Article.objects.filter(blog=blog.bid) return render(request,"home.html",{ "blog":blog, "tag_list":tag_list, "category_list":category_list, "date_list":date_list, "article_list":article_list, })
home_layout:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="/static/plugins/bootstrap/css/bootstrap.css"> <link rel="stylesheet" href="/static/plugins/font-awesome/css/font-awesome.css"/> <link rel="stylesheet" href="/static/theme/{{ blog.theme }}.css"> {% block css %}{% endblock %} </head> <body> <div class="pg-header"> <div class="title">{{ blog.title }}</div> <div class="menu-list"> <a class="menu-item" href="/">首页</a> <a class="menu-item" href="/{{ blog.site }}">个人首页</a> <a class="menu-item" href="/backend/index.html">管理</a> </div> </div> <div class="pg-body"> <div class="body-menu"> <div class="notice"> <div class="notice-header">公告</div> <div class="notice-body"> <ul> <li>昵称:{{ blog.user.nickname }}</li> <li>粉丝:{{ blog.user.fans.cout }}</li> <li>邮箱:{{ blog.user.email }}</li> </ul> </div> </div> <div class="tags"> <div class="tags-header">标签</div> <div class="tags-body"> <ul> {% for tag in tag_list %} <li><a href="/{{ blog.site }}/tag/{{ tag.nid }}.html">{{ tag.name }}({{ tag.count }})</a></li> {% endfor %} </ul> </div> </div> <div class="types"> <div class="types-header">分类</div> <div class="types-body"> <ul> {% for tag in category_list %} <li><a href="/{{ blog.site }}/category/{{ tag.nid }}.html">{{ tag.title }}({{ tag.article_set.count }})</a></li> {% endfor %} </ul> </div> </div> <div class="dates"> <div class="dates-header">创建时间</div> <div class="dates-body"> <ul> {% for tag in date_list %} <li><a href="/{{ blog.site }}/date/{{ tag.ctime }}.html">{{ tag.ctime }}({{ tag.num }})</a></li> {% endfor %} </ul> </div> </div> </div> <div class="body-content"> {% block content %} {% endblock %} </div> {% block js %} {% endblock %} </div> </body> </html>
home.html
{% extends "home-layout.html" %} {% block content %} <div class="content-title"><h3>文章列表</h3></div> {% for row in article_list %} <div class="article"> <div class="article-title"> <a href="/{{ blog.site }}/{{ row.nid }}.html">{{ row.title }}</a> </div> <div class="article-summary"> <a href="">{{ row.summary }}</a> </div> <div class="article-footer"> <span style="margin-left: 0">{{ row.create_time|date:"Y-m-d H:i:s" }}</span> <span>{{ row.user.nickname }}</span> <span>阅读{{ row.read_count }}</span> <span>评论{{ row.comment_count }}</span> <a href="" style="margin-left: 10px">编辑</a> </div> </div> <hr> {% endfor %} {% endblock %}


浙公网安备 33010602011771号