视频监控笔记(六): 如何快速通过Boostrap创建视频监控网页,保姆级别教程

简介: 本文是一篇保姆级教程,介绍了如何使用Bootstrap和Python的Flask框架快速创建视频监控网页。文章首先介绍了Bootstrap的基本概念,然后详细阐述了在PyCharm中创建项目、安装Flask和Bootstrap、编写Python代码设置路由、以及创建和定制HTML模板的步骤。最后,还提到了运行和测试网页的方法。

Boostrap介绍

Bootstrap是一个流行的开源前端框架,用于快速构建现代响应式网站和Web应用程序。它基于HTML、CSS和JavaScript,并提供了一系列现成的组件和样式,可以轻松地创建网页、表单、导航栏、下拉菜单、模态框等等。Bootstrap是由Twitter开发和维护的,目前已经成为最受欢迎的前端框架之一。它不仅可以用于构建Web页面,也可以用于构建移动应用程序。Bootstrap使用简单易懂的文档和示例来帮助开发人员快速上手,并且可以轻松地自定义主题和样式,以满足不同项目的需求。

步骤流程

  • 在PyCharm中创建一个新的Python项目,并创建一个新的虚拟环境。
    安装必要的第三方库,如Flask和Bootstrap,可以通过PyCharm的包管理器或命令行来安装。(或者我们可以直接通过进去官网下载Boostrap的模板文件 地址
  • 创建一个Python文件,并引入Flask和Bootstrap库。
    在Python文件中创建Flask应用程序对象。
  • 创建一个路由函数,定义一个网页的URL和对应的函数,这个函数将渲染网页模板并返回给浏览器。
  • 创建一个网页模板文件,可以使用Bootstrap的模板,也可以自己编写HTML代码,并将该模板保存在项目中的templates文件夹下。
  • 在模板中定义网页的结构和样式,并使用Flask提供的模板语言将数据动态地呈现在网页上。
  • 启动Flask应用程序,通过浏览器访问指定的URL,查看网页效果。

代码目录

在这里插入图片描述

具体实现步骤

第一步:选择一个自己喜欢的Boostrap网页模板
在这里插入图片描述
第二步:选择后将自己选择的HTML和css文件放入自己的目录下
在这里插入图片描述
第三步:找到HTML中所有相对路径的对应文件,并放入Static对应的文件夹下,并修改正确的相对路径。如下图
在这里插入图片描述

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../static/image/favicon.ico">

    <title>Narrow Jumbotron Template for Bootstrap</title>

    <!-- Bootstrap core CSS -->
    <link href="../static/css/bootstrap.min.css" rel="stylesheet">

    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <link href="../static/css/ie10-viewport-bug-workaround.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="jumbotron-narrow.css" rel="stylesheet">

    <!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
    <!--[if lt IE 9]><script src="../static/js/ie8-responsive-file-warning.js"></script><![endif]-->
    <script src="../static/js/ie-emulation-modes-warning.js"></script>

  </head>

  <body>

    <div class="container">
      <div class="header clearfix">
        <nav>
          <ul class="nav nav-pills pull-right">
            <li role="presentation" class="active"><a href="http://192.168.31.11:8089/test">首页</a></li>
            <li role="presentation"><a href="http://192.168.31.11:8089/real_time">实时监控</a></li>
            <li role="presentation"><a href="http://192.168.31.11:8089/video_back">视频回调</a></li>
          </ul>
        </nav>
        <h3 class="text-muted">监控系统</h3>
      </div>

      <div class="jumbotron">
        <h1>Jumbotron heading</h1>
        <p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
        <p><a class="btn btn-lg btn-success" href="#" role="button">Sign up today</a></p>
      </div>

      <div class="row marketing">
        <div class="col-lg-6">
          <h4>Subheading</h4>
          <p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>

          <h4>Subheading</h4>
          <p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>

          <h4>Subheading</h4>
          <p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
        </div>

        <div class="col-lg-6">
          <h4>Subheading</h4>
          <p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>

          <h4>Subheading</h4>
          <p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>

          <h4>Subheading</h4>
          <p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
        </div>
      </div>

      <footer class="footer">
        <p>&copy; 2016 Company, Inc.</p>
      </footer>

    </div> <!-- /container -->

    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../static/js/ie10-viewport-bug-workaround.js"></script>
  </body>
</html>

第四步:直接打开HTML验证效果。
在这里插入图片描述在这里插入图片描述
第五步:如果出现了一些格式上的问题,则需要看看是否忽略了一些重要的样式文件。接下来我们直接通过main.py文件来运行。下面给出main.py的代码。

import flask
from flask import *

# 创建Flask程序并定义模板位置
app = Flask(__name__,
            static_url_path='/static',
            static_folder='static',
            template_folder='templates'
            )

# 将所有对主页面的访问都跳转到界面
@app.route('/', methods=['GET', 'POST'])
def index():
    return flask.redirect(flask.url_for('test'))
# ********************************************* #
# 首页跳转,render_template表示跳转到目标html文件 #
# ********************************************* #
@app.route('/test', methods=['GET'])
def test():
    return render_template('index.html')

# ************* #
# 实时监控界面跳转#
# ************* #
@app.route('/real_time')
def real_time():
    return render_template('index1.html')

# ************* #
# 视频回调界面跳转#
# ************* #
@app.route('/video_back')
def video_back():
    return render_template('index2.html')

if __name__ == '__main__':
    # ************************************ #
    # 运行我们的Flask框架,调试时需要debug=True #
    # ************************************ #
    # app.run(host='127.0.0.1', port=8089, debug=True)
    app.run(host='192.168.31.11',port=8089,debug=True)

第六步:指定host为本机地址,然后运行,可出现网页链接,点击一样的能出现上面网页的效果。如果需要自己设计网页,则需要修改HTML的代码。

目录
相关文章
|
2天前
|
编解码 Java 程序员
写代码还有专业的编程显示器?
写代码已经十个年头了, 一直都是习惯直接用一台Mac电脑写代码 偶尔接一个显示器, 但是可能因为公司配的显示器不怎么样, 还要接转接头 搞得桌面杂乱无章,分辨率也低,感觉屏幕还是Mac自带的看着舒服
|
3天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1540 5
|
1月前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
7天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
578 22
|
3天前
|
存储 SQL 关系型数据库
彻底搞懂InnoDB的MVCC多版本并发控制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
201 3
|
10天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
10天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
578 5
|
23天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
6天前
|
XML 安全 Java
【Maven】依赖管理,Maven仓库,Maven核心功能
【Maven】依赖管理,Maven仓库,Maven核心功能
233 3
|
9天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
327 2