Flask實戰第62天:帖子詳情頁布局
阿新 • • 發佈:2018-10-07
add article ron boa 首頁 視圖 ref head ()
在templates/front/下創建詳情頁面front_pdetail.html
編輯front.views.py創建詳情頁的視圖函數
from flask import abort ... @bp.route(‘/p/<post_id>/‘) def post_detail(post_id): post = PostModel.query.get(post_id) if not post: abort(404) return render_template(‘front/front_pdetail.html‘, post=post)
上面寫了,如果帖子不存在,則返回404,我們先創建個404頁面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>BBS論壇404頁面</title> </head> <body> 您要找的頁面已經到火星去了~~ <div> <a href="/">回到首頁</a> </div> </front_404.htmlbody> </html>
然後我們寫個鉤子函數,返回404的頁面, 編輯front.hooks.py
@bp.errorhandler def page_not_found(): return render_template(‘front/front_404.html‘),404
帖子詳情頁面布局
編輯front_pdetail.html
{% extends ‘front/front_base.html‘ %} {% block title %} {{ post.title }} {% endblock %} {front_pdetail.html% block head %} <link rel="stylesheet" href="{{ url_for(‘static‘, filename=‘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 %}
.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%; }front_pdetail.css
在首頁配置帖子的鏈接
Flask實戰第62天:帖子詳情頁布局