Flask后端与前端通信

注意:本例的Flask后端代码位于:网站开发\Backend development 文件夹下;前端代码位于:网站开发\Front end development 文件夹下,请根据实际调整

这个例子在前端输入信息

前端:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Flask Form Example</title>
</head>
<body>
    <h1>输入信息并提交</h1>
    <form action="/submit" method="post">
        <label for="inputText">文本:</label>
        <input type="text" id="inputText" name="inputText">
        <button type="submit">提交</button>
    </form>

    <!-- 显示提交的信息 -->
    {% if data %}
    <h2>提交记录</h2>
    <table>
        <tr>
            <th>时间</th>
            <th>内容</th>
        </tr>
        {% for item in data %}
        <tr>
            <td>{{ item.time }}</td>
            <td>{{ item.content }}</td>
        </tr>
        {% endfor %}
    </table>
    {% endif %}
</body>
</html>

后端:

import os
import json
from datetime import datetime
from flask import Flask, render_template, request

app = Flask(__name__, template_folder='../Front end development')

# 数据文件路径
DATA_FILE = '../Front end development/data/submissions.json'


def load_data():
    """加载已有的提交数据"""
    if not os.path.exists(DATA_FILE):
        with open(DATA_FILE, 'w') as file:
            json.dump([], file)
    with open(DATA_FILE, 'r') as file:
        return json.load(file)


def save_data(data):
    """保存提交的数据"""
    with open(DATA_FILE, 'w') as file:
        json.dump(data, file, indent=4)


@app.route('/')
def form():
    # 加载已有的提交数据
    data = load_data()
    return render_template('text1.html', data=data)


@app.route('/submit', methods=['POST'])
def submit():
    input_text = request.form.get('inputText')
    current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

    # 添加新数据
    new_data = {'time': current_time, 'content': input_text}
    data = load_data()
    data.append(new_data)
    save_data(data)

    # 重新加载数据并返回页面
    data = load_data()
    return render_template('text1.html', data=data)


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值