先展示页面

基本的功能是都已经实现了,更多那个地方是可以点的。只不过视频上面还用的宏,哎呀,感觉麻烦。有多麻烦呢,需要先定义一个宏,然后进行引用。我们才能是用,以我的观点,还不如直接是一个循环完事。。。

下面贴整个项目的结构图:

前端页面

  css部分

    base.css

*{
margin: 0;
padding: 0; } .container
{
width: 375px;
height: 600px ;
background: pink;
} .search-group{
padding : 14px 8px ;
background: #41be57;
} .search-group .search-input {
background: #fff;
display: block;
width: 100%;
height: 30px;
border-radius: 5px;
outline: none;
border: none;
} .item-list-group .item-list-top{
overflow: hidden;
} .item-list-top .modeule-title{
float: left;
padding : 10px;
} .item-list-top .more-btn{
float: right;
} .list-group {
overflow: hidden;
} .list-group .item-group{
float: left;
margin-right: 10px;
padding: 0px 10px;
} .item-group .thumbnail{
display: block;
width: 100px; } .item-group .item-title{
font-size: 12px;
text-align: center;
} .item-group .item-rating{
font-size: 12px;
text-align: center;
} .item-rating img{
width: 10px;
height: 10px;
}

  html部分

    base.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="{{ url_for('static' , filename = 'css/base.css') }}">
</head>
<body>
{# 这是一个继承的模板,需要我们去认真写#}
<div class="container">
<div class="search-group">
<input type="text" , class="search-input" , placeholder="搜索">
</div>
{% block item %}
{% endblock %}
</div>
</body>
</html>

    index.html

{% extends 'base.html' %}

{% block item %}
<div class="item-list-group">
<div class="item-list-top">
<span class="modeule-title">电影</span>
<a href="{{ url_for('list' , list =2) }}" class="more-btn">更多</a>
</div>
<div class="list-group">
{% for i in range(0,4) %}
<div class="item-group">
<img src="{{ url_for('static' , filename = 'images/shbl.webp') }}" alt="" class="thumbnail">
<p class="item-title">{{ name }}</p>
<p class="item-rating">{{ fenshu }}
<br/>
{# 这个地方是让写小星星的 ,写小行星的顺序依次是,亮,灰,不亮#}
{% set lights = '7.5' %}
{% set light = (((lights | int) /2) | int ) %}
{% set grey_light =((lights | int) % 2 )%}
{% set mie_ligt = 5 - grey_light - light %}
{% for i in range(0,light) %}
{# 先打印亮的灯#}
<img src="{{ url_for('static' , filename = 'images/timg.jpg') }}" alt="">
{% endfor %}
{# 开始写灰色的#}
{% for i in range(0,grey_light) %}
<img src="{{ url_for('static' , filename = 'images/timg2.jpg') }}" alt="">
{% endfor %}
{% for i in range(0 , mie_ligt) %}
<img src="{{ url_for('static' , filename = 'images/timg1.jpg') }}" alt="">
{% endfor %}
</p>
</div>
{% endfor %}
</div> </div>
<div class="item-list-group">
<div class="item-list-top">
<span class="modeule-title">电视剧</span>
<a href="{{ url_for('list' ,list =1)}}" class="more-btn">更多</a>
</div>
<div class="list-group">
{% for i in range(0,4) %}
<div class="item-group">
<img src="{{ url_for('static' , filename = 'images/shbl.webp') }}" alt="" class="thumbnail">
<p class="item-title">{{ name }}</p>
<p class="item-rating">{{ fenshu }}
<br/>
{# 这个地方是让写小星星的 ,写小行星的顺序依次是,亮,灰,不亮#}
{% set lights = '7.5' %}
{% set light = (((lights | int) /2) | int ) %}
{% set grey_light =((lights | int) % 2 )%}
{% set mie_ligt = 5 - grey_light - light %}
{% for i in range(0,light) %}
{# 先打印亮的灯#}
<img src="{{ url_for('static' , filename = 'images/timg.jpg') }}" alt="">
{% endfor %}
{# 开始写灰色的#}
{% for i in range(0,grey_light) %}
<img src="{{ url_for('static' , filename = 'images/timg2.jpg') }}" alt="">
{% endfor %}
{% for i in range(0 , mie_ligt) %}
<img src="{{ url_for('static' , filename = 'images/timg1.jpg') }}" alt="">
{% endfor %}
</p>
</div>
{% endfor %}
</div> </div>
{% endblock %}

list.html

{% extends 'base.html'%}

{#差点忘了写block#}

{% block item %}

    这就是一个列表页

{% endblock %}

后端页面

   app.py

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# @Time : 2019/8/15 20:08
# @Author : "你们的饭不好吃"
from flask import Flask,render_template,url_for app = Flask(__name__) movie = {
'name' : '上海堡垒sdaffa',
'fenshu' : '8.5',
} @app.route('/')
def hello_world():
return render_template('index.html' , **movie) @app.route('/list/')
def list():
return render_template('list.html') if __name__ == '__main__':
app.run(debug=True)

  这个项目没什么难度,大家看看笑笑就好。哦,对了,里面的那个评论是三张图片,图片可以从网上找,宕下来就可以了。亮、不亮、灭灯三张图片,然后写个循环就可以解决那个图片评分的问题。刚开始还以为有过滤器用法,结果里面也没有用到过滤器。。。所以没啥难度,就是list=1那个传参的地方需要注意一下,这个是flask传参的一个特殊的地方。

  因为我之前也学过前端,对前端实在是提不起兴趣了,还是做后端吧,这个项目关于前端的,我都是随意做,大致的功能完成就好了。没必要是非要扣前端,前端会有专门的人做。

写了一个类似与豆瓣的电影的flask小demo的更多相关文章

  1. 自己写了一个类似百度空间自动保存草稿的程序 php+jquery

    可以异步加载mysql中的草稿~,异步更新草稿列表~ 下载地址:http://download.csdn.net/source/3479156 代码: demo.php <?php mysql_ ...

  2. 用c#写的一个局域网聊天客户端 类似小飞鸽

    用c#写的一个局域网聊天客户端 类似小飞鸽 摘自: http://www.cnblogs.com/yyl8781697/archive/2012/12/07/csharp-socket-udp.htm ...

  3. 写一个类似淘宝的ios app需要用到哪些技术?

    写一个类似淘宝的ios app需要用到哪些技术? 让我想起了有人私信我,说不缺钱,做个类似知乎的东西,包括加运营,需要多少钱. 扯淡结束,正好最近看了一点这方面的东西,也许对题主来说有点帮助. 手机淘 ...

  4. vnpy源码阅读学习(4):自己写一个类似vnpy的UI框架

    自己写一个类似vnpy的界面框架 概述 通过之前3次对vnpy的界面代码的研究,我们去模仿做一个vn.py的大框架.巩固一下PyQt5的学习. 这部分的代码相对来说没有难度和深度,基本上就是把PyQt ...

  5. 制作一个类似苹果VFL的格式化语言来描述UIStackView

    在项目中总是希望页面上各处的文字,颜色,字体大小甚至各个视图控件布局都能够在发版之后能够修改以弥补一些前期考虑不周,或者根据统计数据能够随时进行调整,当然是各个版本都能够统一变化.看到这样的要求后,第 ...

  6. 如何制作一个类似Tiny Wings的游戏(2) Cocos2d-x 2.1.4

    在第二篇<如何制作一个类似Tiny Wings的游戏>基础上,增加添加主角,并且使用Box2D来模拟主角移动,原文<How To Create A Game Like Tiny Wi ...

  7. Huginn实现自动通过slack推送豆瓣高分电影

    博客搬迁至https://blog.wangjiegulu.com RSS订阅:https://blog.wangjiegulu.com/feed.xml 原文链接:https://blog.wang ...

  8. 基础爬虫,谁学谁会,用requests、正则表达式爬取豆瓣Top250电影数据!

    爬取豆瓣Top250电影的评分.海报.影评等数据!   本项目是爬虫中最基础的,最简单的一例: 后面会有利用爬虫框架来完成更高级.自动化的爬虫程序.   此项目过程是运用requests请求库来获取h ...

  9. iOS-如何写好一个UITableView

    如何写好一个UITableView 字数5787 阅读3745 评论25 喜欢69 本文是直播分享的简单文字整理,直播共分为上.下两部分.第一部分:优酷 Or YouTube,第二部分:优酷 Demo ...

随机推荐

  1. Dem地形数据转换为cass支持的dat格式教程

    一.获取dem数据各类精度的dem高程数据下载这里不赘述,可以查阅这篇文章:高程数据下载 这里我们以12.5m精度的dem为例进行转换: 二.将dem数据转换为文本我们这里先将地形数据加载入globa ...

  2. Flask补充内容

    关键字: 一,过滤器 二,增删改查 一,过滤器 1,概念:过滤器的本质就是函数.有时候我们不仅仅只是需要输出变量的值,我们还需要修改变量的显示,甚至格式化.运算等等,而在模板中是不能直接调用 Pyth ...

  3. 什么是JavaScript作用域

    编程语言中,存储.访问和修改变量的值的能力将状态带给了程序.但是将变量引入程序会引起一些有意思的问题:变量存储在哪里?程序需要时如何找到它们?这些问题说明需要一套设计良好的规则来存储变量,并且之后可以 ...

  4. 解决自动安装Freebsd系统盘符无法确定问题

    最近因为需要用到Freebsd,所以研究了打包的一些方法,这个没什么太大问题,通过网上的一些资料可以解决,但是由于确实不太熟悉这套系统,还是碰上了一些比较麻烦的地方,目前也没看到有人写如何处理,那就自 ...

  5. Linux下如何创建loop device

    在Linux中,有一种特殊的块设备叫loop device,这种loop device设备是通过映射操作系统上的正常的文件而形成的虚拟块设备 因为这种设备的存在,就为我们提供了一种创建一个存在于其他文 ...

  6. RestPack Java实现Html转PDF文件

    最近公司需要将前端一个图表统计导出为pdf.前端导出显示的pdf还是可以的,但是将会导致页面不可用与卡死状态.所以由后端寻找解决方案. 以下为解决方案调研 https://www.cnblogs.co ...

  7. MySQL 的常用引擎

    1. InnoDB InnoDB 的存储文件有两个,后缀名分别是 .frm 和 .idb,其中 .frm 是表的定义文件,而 idb 是数据文件. InnoDB 中存在表锁和行锁,不过行锁是在命中索引 ...

  8. python-网络安全编程第五天(爬虫模块BeautifulSoup)

    前言 昨晚学的有点晚 睡得很晚了,今天早上10点多起来吃完饭看了会电视剧就瞌睡了一直睡到12.50多起来洗漱给我弟去开家长会 开到快4点多才回家.耽搁了不少学习时间,现在就把今天所学的内容总结下吧. ...

  9. [转载]Redis 持久化之RDB和AOF

    原文链接:https://www.cnblogs.com/itdragon/p/7906481.html 温馨提示 在正式数据(当然是非生产环境啦)练习以下操作时,一定一定一定记得备份dump.rdb ...

  10. 【建议收藏】阿里P7总结的Spring注解笔记,把组件注册讲的明明白白

    环境搭建 注解的方式是通过配置类的方式来注入组件,注解注入要比XML注入的方式简单,注解注入也需要在前者的基础上,添加一个spring-context的包,也是实际开发中常用的方式. 准备所需Jar包 ...