基于flask的web应用开发——访问漂亮的html页面以及页面跳转

本文介绍了HTML的基础知识,包括标签、属性、元素和文档结构。接着展示了如何在Flask框架中设置路由,使用户能访问预制作的HTML页面。通过代码示例,解释了如何实现点击按钮进行页面跳转,提供了一个简单的导航页面示例。
摘要由CSDN通过智能技术生成

0. 前言

本节学习如何在flask应用程序下让用户访问你提前制作好的html页面

操作系统:Windows10 专业版

开发环境:Pycahrm Comunity 2022.3

Python解释器版本:Python3.8

第三方库:flask

1. html基本知识

HTML(HyperText Markup Language),即超文本标记语言,是用于创建网页的标准语言。HTML 文件由用标签包围的文本构成,这些标签告诉 web 浏览器如何排版文本、图片等元素,并定义网页的结构和样式。

以下是 HTML 的一些基本知识点:

  • 标签(Tag):HTML 中最基本的元素就是标签。标签通常是成对出现的,一个是开始标签,如 “<html>”,一个是结束标签,如 “</html>”。标签为浏览器渲染页面提供了结构和语义。有些 HTML 标签是自闭合的,比如 <img>, <br>, <hr>。

  • 属性(Attribute):HTML 标签可以包含一些属性,属性可以定义参数,用来描述标签的具体内容和样式。如 标签的 src 属性用来指定资源的 URL 地址,alt 属性用来存放图片的描述文本。

  • 元素(Element):HTML 中的元素指的是标签和它们的内容。比如 <p>Hello World!</p> 就是一个包含文本内容的 HTML 元素,其中 <p> 是一个开始标签,</p> 是一个结束标签,Hello World! 是这个元素的内容。

  • DOCTYPE:doctype 是在 HTML5 中引入的,用来告诉浏览器当前网页的文本类型。一般在 HTML 文件开头使用 <!DOCTYPE html> 来声明当前文件的文档类型为 HTML。

  • Head:head 是 HTML 中的一个部分,包含一些描述信息和元数据,不会在页面中直接显示。head 中通常包含标题(title)、字符集定义(meta charset)、CSS 样式(style)和 JavaScript 函数等等。

  • Body:body 是 HTML 的另一个部分,包含了页面的实际内容,如文本、图片、链接等。

严格来说 HTML 不是编程语言,而是标记语言。HTML 是一种用来创建 Web 页面的标准化标记语言,用于定义和描述 Web 页面中的内容和结构。与编程语言不同,HTML 主要用于定义网页文档的结构和内容,而不能用于实现复杂的逻辑和算法。

2. 编写html文本

新建一个的后缀名为html的文件,然后输入以下内容并保存:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello World</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f5f5f5;
        }
        .container {
            margin: 0 auto;
            padding-top: 50px;
            text-align: center;
        }
        .title {
            font-size: 32px;
            font-weight: bold;
            color: #333;
            margin-bottom: 20px;
            text-shadow: 1px 1px 1px #888;
        }
        .subtitle {
            font-size: 20px;
            font-style: italic;
            color: #666;
            margin-bottom: 50px;
            text-shadow: 1px 1px 1px #aaa;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1 class="title">Hello World</h1>
        <h2 class="subtitle">This is a beautiful index page</h2>
        <img src="https://source.unsplash.com/1200x800/?nature" alt="Nature">
    </div>
</body>
</html>

然后你的文件夹里会有一个这样的东西:
在这里插入图片描述
双击它就会自动进入到这么一个界面:
在这里插入图片描述
到这你就大概了解html的作用了

3. 在Flask中设置访问html

上一节中我们学了如何设置路由:基于flask的web应用开发——认识@app.route
现在我们设置只要访问我们的IP+5000端口就会跳转到这个helloworld界面,以下是代码

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/IoT_H2')
def hello_H2():
    return "Hello,IoT_H2"

if __name__ == '__main__':
    app.run()

现在运行你的代码,然后访问:
在这里插入图片描述

如下,注意!!!现在是通过网络访问,而不是本地访问了
在这里插入图片描述

其实处在同一局域网下的设备也是可以访问的,你可以先查看本机IP:
在这里插入图片描述
记录下来,我的是:

192.168.31.58

然后我在地址栏输入192.168.31.58:5000,进入的就是我的主页。

你可以玩玩室友的电脑,或者用自己的手机做测试,前提条件是你必须 与手机连接同一wifi。

4. 实现点击跳转

可以使用html的<button>标签和<form>标签画出按钮,然后进行页面的跳转,下面这段html将产生一个替换按钮,它使用到了css来布局:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>IoT_H2的导航页面</title>
  <style>
  body {
    background-color: #2f3542;
    font-family: Arial, sans-serif;
  }
  h1 {
    color: white;
    text-align: center;
  }
  .button {
    background-color: #ff9f43;
    border: none;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: auto;
    margin-top: 50px;
    border-radius: 10px;
    transition: background-color 1s ease, border-radius 1s ease;
  }
  .button:hover {
    background-color: #2998ff;
    border-radius: 20px;
  }
  </style>
</head>
<body>

  <h1>IoT_H2的导航页面!</h1>

  <button class="button" onclick="location.href='https://www.baidu.com/'">去百度</button>

</body>
</html>

在这里插入图片描述

现在点击去百度就会跳转到百度的页面:
在这里插入图片描述

我在我的公网服务器上部署了它,现在你可以通过它来访问刚刚制作的界面了,点击下方链接以进入:
IoT_H2的导航页面
在这里插入图片描述

可以使用 layui 的 `form` 模块和 `lay-submit` 属性实现点击按钮跳转页面的功能。具体实现步骤如下: 1. 在 HTML 页面中引入 layui 的相关文件: ```html <link rel="stylesheet" href="//cdn.bootcss.com/layui/2.5.6/css/layui.min.css"> <script src="//cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <script src="//cdn.bootcss.com/layui/2.5.6/layui.min.js"></script> ``` 2. 在页面中添加一个表单,包含一个按钮和一个隐藏的输入框: ```html <form class="layui-form" action="target.html" method="get"> <button class="layui-btn" lay-submit lay-filter="formDemo">跳转页面</button> <input type="hidden" name="param" value="value"> </form> ``` 其中,`action` 属性指定了跳转的目标页面,`method` 属性指定了请求方式为 `get`,`lay-submit` 和 `lay-filter` 属性指定了按钮的提交事件和表单的筛选器名称。 3. 在 JavaScript 中初始化 layui 的 `form` 模块,并监听表单提交事件: ```javascript layui.use('form', function(){ var form = layui.form; // 监听表单提交事件 form.on('submit(formDemo)', function(data){ // 获取输入框的值 var param = $('input[name="param"]').val(); // 将参数拼接到目标页面的地址中 var targetUrl = data.form.action + '?param=' + param; // 跳转到目标页面 location.href = targetUrl; // 阻止表单的默认提交行为 return false; }); }); ``` 其中,`form.on('submit(formDemo)', function(data){})` 监听了表单提交事件,`data.form` 表示当前表单的 DOM 对象,`$('input[name="param"]').val()` 获取了隐藏输入框的值,`location.href` 实现了页面的跳转,并且通过 `return false` 阻止了表单的默认提交行为。 这样,当用户点击按钮时,页面就会根据输入框的值跳转到目标页面
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT_H2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值