- 新页面userbase.html,用<ul ><li role="presentation"> 实现标签页导航。
<ul class="nav nav-tabs">
<li role="presentation"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
- 让userbase.html继承base.html。
重写title,head,main块.
将上述<ul>的样式放在head块,<ul>放在main块中.
定义新的块user。
- 让上次作业完成的个人中心页面,继承userbase.html,原个人中心就自动有了标签页导航。
- 制作个人中心的三个子页面,重写userbase.html中定义的user块,分别用于显示问答、评论、个人信息。
- 思考 如何实现点标签页导航到达不同的个人中心子页面。
{% extends'base.html' %}
{% block title %}个人中心{% endblock %}
{% block head %}
<style>
.nav_ul li{
list-style: none;
float: left;
margin: 10px;
}
</style>
{% endblock %}
{% block main %}
<ul class="nav_ul">
<li role="presentation"><a href="{{url_for('usercenter',user_id=user1.id,tag=1)}}">Question</a> </li>
<li role="presentation"><a href="{{url_for('usercenter',user_id=user1.id,tag=2)}}">Comments</a> </li>
<li role="presentation"><a href="{{url_for('usercenter',user_id=user1.id,tag=3)}}">Info</a> </li>
</ul>
{% endblock %}
@app.route('/usercenter/<user_id>/<tag>',methods=['GET','POST'])
def person(user_id,tag):
user = User.query.filter(User.id == user_id).first()
context = {
'img':user.image,
'id':user_id,
'usern':user.username,
'ques': Question.query.filter(Question.author_id == user_id).order_by('-creat_time').all(),
'users': Comment.query.filter(Comment.author_id == user_id).order_by('-creat_time').all(),
'comment': user.comments,
'user1':user
}
if tag=='1':
return render_template('user1.html', **context)
elif tag=='2':
return render_template('user2.html', **context)
else:
return render_template('user3.html', **context)