四:查看页面完善
从数据库中调用数据
user.py
@bp.route('/check/<author_id>')
def user_look(author_id):
user = UserModel.query.get(author_id)
detail = DetailModel.query.filter_by(author_id=g.user.id).first()
questions = QuestionModel.query.filter_by(author_id=g.user.id).all()
answer =AnswerModel.query.filter_by(author_id=g.user.id).all()
return render_template('user_check.html',user=user,questions=questions,detail=detail,answer=answer)
要将上个文章中users.py
第19行改为
return redirect(url_for('user.user_look',author_id=g.user.id))
让修改后可以看到个人资料
修改user_check.html
{% extends 'base.html' %}
{% block title %}用户资料{% endblock %}
{% block head %}
<link rel="stylesheet" href="{{ url_for('static',filename='css/detail.css') }}">
{% endblock %}
{% block body %}
<div class="row" style="margin-top: 20px;">
<div class="col"></div>
<div class="col-10" style="background-color: #fff;padding: 20px;">
<h3 class="page-title">{{ user.username }}</h3>
用户id:
{{ user.id }}
<br>
<br>
创建时间:{{ user.join_time }}
<br>
<br>
头像:<img class="avatar" src="{{ url_for('static',filename='images/avatar.jpg') }}" alt="" height="100">
<br>
<br>
个人简介:
{{ detail.content }}
<br>
<br>
发布的问题:
<br>
{% for question in questions %}
{{ question.title }}
<br>
{% endfor %}
<br>
发布的答案:
<br>
{% for answer in answer %}
{{ answer.content }}
<br>
{% endfor %}
<hr>
</div>
<div class="col"></div>
</div>
{% endblock %}
修改后可以看到用户资料
五:设置跳转按钮
设置登陆后可以查看个人资料
在base.html中
16行
<a class="navbar-brand" href="/">知了问答</a>
38行
<a class="nav-link" href="{{ url_for('user.user_look',author_id=g.user.id) }}">{{ user.username }}</a>
点击名称后可跳转
设置个人资料可以设置个人简介
将user_check.html改为
个人简介:<a href="{{ url_for('user.user_register') }}">修改个人简介</a>
<br>
{{ detail.content }}
<br>
<br>
设置问题,答案跳转
发布的问题:
<br>
{% for question in questions %}
<div class="question-title"><a href="{{ url_for('qa.qa_detail',qa_id=question.id) }}">{{ question.title }}</a></div>
{% endfor %}
<br>
发布的答案:
<br>
{% for answer in answer %}
<div class="question"><a href="{{ url_for('qa.qa_detail',qa_id=answer.question_id) }}">{{ answer.content}}</a></div>
{% endfor %}
<hr>