python全栈05-----豆瓣案例(下)

本文详细介绍了使用Python Flask框架开发豆瓣案例的过程,包括优化代码、创建视图函数、实现模板继承以及处理点击“更多”按钮的逻辑。通过宏和url_for实现页面跳转,根据参数category区分电影和电视剧的更多选项。最后,调整各部分代码以完成点击“更多”后的正确显示。
摘要由CSDN通过智能技术生成

豆瓣案例

  • 效果图

这是我们点击更多进到的电影页面

  • 豆瓣案例(上)的代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{
  {url_for('static',filename = 'css/base.css') }}">
    <link rel="stylesheet" href="{
  {url_for('static',filename = 'css/item.css') }}">
</head>
<body>
{% macro itemGroup(src,title,rating) %}
                <div class="item-group">
                    <img src={
  {src}} alt="" class="thumbnail">
                    <p class="item-title">{
  {title}}</p>
                    <p class="item-rating">
                        {%set lights = ((rating|int)/2)|int %}
                        {%set halflight = (rating|int)%2 %}
                        {%set grays = 5-lights-halflight %}

                        {% for light in range(0,lights) %}
                        <img src="{
  {url_for('static',filename='images/rate_light.png')}}" alt="">
                        {% endfor %}

                        {% for light in range(0,halflight) %}
                        <img src="{
  {url_for('static',filename='images/rate_half.jpg')}}" alt="">
                        {% endfor %}

                        {% for light in range(0,grays)%}
                        <img src="{
  {url_for('static',filename='images/rate_gray.png')}}" alt="">
                        {% endfor %}

                        {
  { rating }}

                    </p>

                </div>

{% endmacro%}



    <h1>豆瓣评分</h1>
    <div class="container">
        <div class="search-group">
            <input type="text" class="search-input">
        </div>
        <div class="item-list-group">
            <div class="item-list-top">
                <span class="moudle-title">电影</span>
                <a href="#" class="more-btn">更多</a>
            </div>
            <div class="list-group">
                 {% for movie in movies[0:3] %}
                 {
  { itemGroup(movie.thumbnail,movie.title,movie.rating) }}
                 {% endfor %}
            </div>
            <div class="item-list-top">
                <span class="moudle-title">电视剧</span>
                <a href="#" class="more-btn">更多</a>
            </div>
            <div class="list-group">
                 {% for tvs in tvs[0:3] %}
                 {
  { itemGroup(tvs.thumbnail,tvs.title,tvs.rating) }}
                 {% endfor %}
            </div>
        </div>
    </div>

</body>
</html>
  • py文件
from flask import Flask,render_template

app = Flask(__name__)

#电影
movies = [
    {
        'id': '11211',
        'thumbnail': 'https://img3.doubanio.com/view/movie_poste r_cover/lpst/public/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值