python网站创建005:数据交互

后端如何接收前端的数据?

如下图, 是一个form表单, 如何将这部分数据提交到后端

 

数据传输4要素

1. 必须有form表单

2. form表单中需要填写(action,要传输到的地址;method,数据传输方式,常见get和post)

3. input输入框中,必须带name属性

4. 必须有 submit 提交按钮

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>用户注册界面</title>

</head>

<body>

<form action="/signin_succeed" method="post">
    <!--账号输入控件-->
    <div>用户名:<input type="text" placeholder="请输入用户名" name="user"/></div>
    <div>密码:<input type="password" placeholder="请输入密码" name="pwd"/></div>

    <!--单选框-->
    <div>性别:
        男<input type="radio" name="sex" value="男"/><input type="radio" name="sex" value="女"/>
    </div>

    <!--多选框-->
    <div>爱好:
        足球<input type="checkbox" name="爱好" value="1"/>
        篮球<input type="checkbox" name="爱好" value="2"/>
        兵乓球<input type="checkbox" name="爱好" value="3"/>
    </div>

    <!--下拉框-->
    <div>所在城市:
        <select name="city">
            <option value="广西">广西</option>
            <option value="广东">广东</option>
            <option value="北京">北京</option>
        </select>
    </div>

    <!--多行为本框-->
    <div>其它信息:
        <textarea name="其它信息"></textarea>
    </div>

    <!--提交按钮-->
    <div><input type="submit" value="提交" /></div>

</form>

</body>
</html>
# 获取注册界面数据
@app.route('/signin_succeed')  # 如果是get请求, 用该方式
@app.route('/signin_succeed', methods=['POST'])  # 如果是post请求,用该方式
def signin_succeed():
    get_date=request.args  # 如果是get方式, 用该方式获取数据
    post_data = request.form  # 如果是post方式, 用该方式获取数据

 

那么又如何将数据提交到前端呢?

@app.route('/')  
def index():  
    # 示例数据  
    data = {'name': 'John', 'age': 30, 'city': 'New York'}  
      
    return render_template('index.html', data=data)

 

前端使用{{}}来获取变量数据

<!DOCTYPE html>  
<html>  
<head>  
    <title>Data Submitted to Frontend</title>  
</head>  
<body>  
    <h1>Submitted Data:</h1>  
    <ul>  
        <li>Name: {{ data['name'] }}</li>  
        <li>Age: {{ data['age'] }}</li>  
        <li>City: {{ data['city'] }}</li>  
    </ul>  
</body>  
</html>

 

posted @ 2023-07-30 13:38  博无止境  阅读(24)  评论(0编辑  收藏  举报