flask bootstrap页面json格式化

html

<!DOCTYPE html>
<html lang="en">
<head><!-- 新 Bootstrap5 核心 CSS 文件 -->
<link rel="stylesheet" href="static/bootstrap-5.0.0-beta1-dist/css/bootstrap.min.css"><!-- 最新的 Bootstrap5 核心 JavaScript 文件 -->
<script src="static/bootstrap-5.0.0-beta1-dist/js/bootstrap.bundle.min.js"></script><script>function submitForm() {document.getElementById('myForm').submit();}function clearTextarea() {var textarea = document.getElementById('myTextarea');textarea.value = '';  // 清空 textarea 的内容}</script><meta charset="UTF-8"><title>Title</title><style>.form-control.input-lg {height: 500px;}</style></head>
<body><nav class="navbar navbar-expand-lg navbar-light bg-light navbar-dark bg-dark bg-dark"><div class="container-fluid"><a class="navbar-brand" href="#"><img src="static/glyph-iconset-master/svg/si-glyph-desktop.svg" alt="" width="30" height="30" class="d-inline-block align-top">工具大全</a><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNavDropdown"><ul class="navbar-nav"><li class="nav-item"><a class="nav-link active" aria-current="page" href="#">首页</a></li><li class="nav-item"><a class="nav-link" href="#">test1</a></li><li class="nav-item"><a class="nav-link" href="#">test2</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">test3</a><ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"><li><a class="dropdown-item" href="#">1</a></li><li><a class="dropdown-item" href="#">2</a></li><li><a class="dropdown-item" href="#">3</a></li></ul></li></ul></div><!--            <ul class="nav justify-content-end">-->
<!--        <li class="nav-item">-->
<!--          <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>-->
<!--          -->
<!--        </li>-->
<!--      </ul>--><div class="dropdown dropdown-menu-end">
<button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">登出</button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">首页</a></li><li><a class="dropdown-item" href="#">注销</a></li></ul>
</div></div>
</nav><!--容器-->
<div class="container"><!--  按钮--><div class="d-grid gap-2 d-md-block " ><button onclick="submitForm()" class="btn btn-primary" type="button" type="Submit">格式化</button><button onclick="clearTextarea()" class="btn btn-primary" type="button">清空输出框内容</button></div><h2>JSON 格式化工具</h2><div class="row align-items-start">
<!--    文本框--><div class="col-6"><h5>输入</h5><form  id="myForm" method="POST"><textarea class="form-control" id="deblock_udid" name="textarea_name" rows="30" style="min-width: 50%">{{ textarea_content }}</textarea></form></div><!--    文本框--><div class="col-6"><h5>输出</h5><textarea class="form-control" id="myTextarea" name="deblock_udid" rows="30" style="min-width: 50%">{{ processed_data }}</textarea></div></div>
</div><div class="container"><div class="alert alert-light" role="alert">{% if error_message %}<p style="color: red;">Error: {{ error_message }}</p>{% endif %}
</div></div></body>
</html>

app.py

from flask import Flask, render_template, request
import jsonapp = Flask(__name__)@app.route('/', methods=['GET', 'POST'])
def index():if request.method == 'POST':textarea_content = request.form.get('textarea_name')  # 获取提交的 textarea 内容print(textarea_content)parsed_data = Noneerror_message = Noneif textarea_content:try:parsed_data = json.loads(textarea_content)except json.decoder.JSONDecodeError as e:# 处理非法的 JSON 字符串error_message = str('格式非法')# 格式化输出 JSON 数据formatted_data = json.dumps(parsed_data, indent=4, ensure_ascii=False) if parsed_data else ''return render_template('student.html', textarea_content=textarea_content, processed_data=formatted_data,error_message=error_message)  # 将内容和错误信息传递回前端页面else:return render_template('student.html')if __name__ == '__main__':app.run()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/103159.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法通关村17关 | 透析跳跃游戏

1. 跳跃游戏 题目 LeetCode55 给定一个非负整数数组&#xff0c;最初位于数组的第一个位置&#xff0c;数组中的每个元素代表你再该位置可以跳跃的最大长度&#xff0c;判断你是否能够达到最后一个位置。 思路 如果当前位置元素如果是3&#xff0c;我们无需考虑是跳几步&#…

【HTTP爬虫ip实操】智能路由构建高效稳定爬虫系统

在当今信息时代&#xff0c;数据的价值越来越受到重视。对于许多企业和个人而言&#xff0c;网络爬取成为了获取大量有用数据的关键手段之一。然而&#xff0c;在面对反爬机制、封锁限制以及频繁变动的网站结构时&#xff0c;如何确保稳定地采集所需数据却是一个不容忽视且具挑…

【前端】CSS-Grid网格布局

目录 一、grid布局是什么二、grid布局的属性三、容器属性1、display①、语句②、属性值 2、grid-template-columns属性、grid-template-rows属性①、定义②、属性值1&#xff09;、固定的列宽和行高2&#xff09;、repeat()函数3&#xff09;、auto-fill关键字4&#xff09;、f…

Redis多机数据库实现

Redis多机数据库实现 为《Redis设计与实现》笔记 复制 客户端可以使用SLAVEOF命令将指定服务器设置为该服务器的主服务器 127.0.0.1:12345> SLAVEOF 127.0.0.1 6379127.0.0.1:6379将被设置为127.0.0.1:123456的主服务器 旧版复制功能的实现 Redis的复制功能分为同步&a…

OpenHarmony:如何使用HDF驱动控制LED灯

一、程序简介 该程序是基于OpenHarmony标准系统编写的基础外设类&#xff1a;RGB LED。 目前已在凌蒙派-RK3568开发板跑通。详细资料请参考官网&#xff1a;https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk3568-openharmony/tree/master/samples/b02_hdf_rgb_led。 …

【计算机基础知识8】深入理解OSI七层模型

目录 一、前言 二、OSI七层模型概述 三、第一层&#xff1a;物理层 四、第二层&#xff1a;数据链路层 五、第三层&#xff1a;网络层 六、第四层&#xff1a;传输层 七、第五层&#xff1a;会话层 八、第六层&#xff1a;表示层 九、第七层&#xff1a;应用层 十、O…

QT QFrame控件使用详解

本文详细的介绍了QFrame控件的各种操作&#xff0c;例如&#xff1a;设置框架形状、设置框架阴影、设置线宽、中间线宽、设置框架样式、设置大小策略、设置样式表、其它文章等等操作。 实际开发中&#xff0c;一个界面上可能包含十几个控件&#xff0c;手动调整它们的位置既费时…

20.添加HTTP模块

添加一个简单的静态HTTP。 这里默认读者是熟悉http协议的。 来看看http请求Request的例子 客户端发送一个HTTP请求到服务器的请求消息&#xff0c;其包括&#xff1a;请求行、请求头部、空行、请求数据。 HTTP之响应消息Response 服务器接收并处理客户端发过来的请求后会返…

【Linux】工具Gdb调试轻度使用(C++)

目录 一、Gdb背景 二、Gdb基本命令 【2.1】list | l 【2.2】break | b 【2.5】delete | d 【2.6】disable 【2.7】enable 【2.3】info 【2.4】info locals 【2.6】run | r 【2.7】next | n 【2.8】step | s 【2.9】 continue | c 【2.10】bt 【2.11】finish 三…

DHTMLX Gantt 8.0.5 Crack -甘特图

8.0.5 2023 年 9 月 1 日。错误修复版本 修复 修复通过gantt.getGanttInstance配置启用扩展而触发的错误警告修复启用skip_off_time配置时gantt.exportToExcel()的不正确工作示例查看器的改进 8.0.4 2023 年 7 月 31 日。错误修复版本 修复 修复数据处理器不跟踪资源数据…

MNIST手写数字辨识-cnn网路 (机器学习中的hello world,加油)

用PyTorch实现MNIST手写数字识别(非常详细) - 知乎 (zhihu.com) 参考来源&#xff08;这篇文章非常适合入门来看&#xff0c;每个细节都讲解得很到位&#xff09; 一、模块函数用法-查漏补缺&#xff1a; 1.关于torch.nn.functional.max_pool2d()的用法&#xff1a; 上述示例…

优化VUE Element UI的上传插件

默认ElmentUI的文件列表只有一个删除按钮&#xff0c;我需要加预览、下载、编辑等&#xff0c;就需要优化显示结果。 优化后没用上传进度条&#xff0c;又加了一个进度条效果 代码 <template><div><el-uploadclass"upload-demo"action"/"…