(1)front/hooks.py
@bp.errorhandler
def page_not_found():
return render_template('front/front_404.html'),404
(2)front/front_404.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>您要找的页面飞到火星去了!!!!!</p>
<a href="/">回到首页</a>
</body>
</html>
(3)front/views.py
@bp.route('/p/<post_id>')
def post_detail(post_id):
print(post_id)
post=PostModel.query.get(post_id)
if not post:
abort(404)
return render_template('front/front_postdetail.html',post=post)
(4)front_index.html
<p class="post-title"><a href="{{ url_for('front.post_detail',post_id=post.id) }}">{{ post.title }}</a></p>
(5)front_postdetail.html
{% extends 'front/front_base.html' %}
{% from 'common/_macros.html' import static %}
{% block title %}
{{ post.title }}
{% endblock %}
{% block head %}
<link rel="stylesheet" href="{{ static('front/css/front_pdetail.css') }}">
{% endblock %}
{% block body %}
<div class="lg-container">
<div class="post-container">
<h2>{{ post.title }}</h2>
<p class="post-info-group">
<span>发表时间:{{ post.create_time }}</span>
<span>作者:{{ post.author.username }}</span>
<span>版块:{{ post.board.name }}</span>
<span>阅读数:{{ post.read_count }}</span>
<span>评论数:0</span>
</p>
<article class="post-content" id="post-content" data-id="{{ post.id }}">
{{ post.content|safe }}
</article>
</div>
</div>
<div class="sm-container"></div>
{% endblock %}
(6)front/css/front_pdetail.css
*{
margin:0;
padding:0
}
.post-container{
border:1px solid #e6e6e6;
padding: 10px;
}
.post-info-group{
font-size: 12px;
color: #8c8c8c;
border-bottom:1px solid #e6e6e6;
margin-top: 20px;
padding-bottom: 10px;
}
.post-info-group span{
margin-right: 20px;
}
.post-content{
margin-top: 20px;
}
.post-content img{
max-width:100%;
}