iT邦幫忙

1

Day 13|製作作品詳細頁面

  • 分享至 

  • xImage
  •  

現在作品列表有名稱、年份和評分,但還不能點進去查看完整內容。今天要為每一筆作品建立獨立的詳細頁面。
步驟 1:在 app.py 加入路由
@app.route("/media/int:media_id")def media_detail(media_id): connection = get_db_connection() item = connection.execute(""" SELECT * FROM media WHERE id = ? """, (media_id,)).fetchone() connection.close() if item is None: return render_template( "page.html", title="找不到作品", description="這筆收藏不存在,或可能已經被刪除。" ), 404 return render_template("detail.html", item=item)

步驟 2:建立 templates/detail.html

{% extends "base.html" %}

{% block title %}{{ item["title"] }} - My Media Library{% endblock %}

{% block content %}

<p>
    <strong>個人評分:</strong>
    {% if item["rating"] is not none %}
        {{ item["rating"] }}/10
    {% else %}
        尚未評分
    {% endif %}
</p>

<h2>我的心得</h2>
<p class="notes">{{ item["notes"] or "尚未撰寫心得。" }}</p>

<p>
    <a class="button"
       href="{{ url_for('edit_media', media_id=item['id']) }}">
        編輯作品
    </a>
</p>

注意:這份模板已經預先放上編輯連結,因此 Day 14 會建立 edit_media 路由。
步驟 3:讓作品卡片可以點擊
在 templates/collection.html 中,找到:

替換成:

步驟 4:測試

  1. 開啟電影收藏頁。
  2. 點擊任意電影名稱。
  3. 應該進入 /media/作品編號。
  4. 確認年份、分類、評分與心得都有顯示。
  5. 手動把網址中的 ID 改成不存在的數字,確認網站顯示 404 錯誤頁。

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言