flask接收form表單數據


Hello World

傳說,每接觸一個新的編程語言或者工具,首先打印Hello World,會給你帶來好運。

# hello_world.py

from flask import Flask

app = Flask(__name__)


@app.route('/')	# '/'代表訪問的是跟地址,默認是get請求
def index():
    return 'Hello World'


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

flask接收前端數據

效果

前端HTML

<!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">
    <title>Title</title>
</head>
<body>
    <h1>注冊頁面</h1>
    <form action="http://127.0.0.1:5000/register/" method="post" enctype="multipart/form-data">
        <p>
            <label for="username">用戶名:</label>  <!--label和input通過id綁定在一起-->
            <input type="text" name="username" placeholder="請輸入用戶名" id="username">
        </p>                                     <!--placeholder 輸入框默認顯示的值-->
        <p>
            <label for="password">密碼:</label>
            <input type="password" name="password" placeholder="請輸入密碼" id="password">
        </p>
        <p>
            <label for="birthday">生日:</label>
            <input type="date" name="birthday" id="birthday">
        </p>
        <p>
            <label>性別:</label>
            <input type="radio" name="gender"  value="male" checked>男  <!--checked默認選中,簡寫了-->
            <input type="radio" name="gender"  value="female" >女
            <input type="radio" name="gender"  value="security">保密
        </p>
        <p>
            <label>愛好:</label>
            <input type="checkbox" name="hobby" value="read" checked>讀書
            <input type="checkbox" name="hobby" value="outdoors">戶外
            <input type="checkbox" name="hobby" value="movie">電影
            <input type="checkbox" name="hobby" value="others">其他
        </p>
        <p>
            <label for="homeland">家鄉:</label>
            <select name="homeland" id="homeland" multiple >   <!--multiple設置多選-->
                <option value="AH" selected>安徽</option>        <!--selected默認選中-->
                <option value="HB" selected>湖北</option>
                <option value="BJ">北京</option>
            </select>
        </p>
        <p>
            <label for="avatar">頭像:</label>
            <input type="file" name="avatar" id="avatar">
        </p>
        <label for="self_info">自我介紹:</label>
        <p>
            <textarea name="self_info" id="self_info" cols="30" rows="10"></textarea>
        </p>
        <p>
            <input type="submit" value="注冊">
        </p>
    </form>

</body>
</html>

后端flask

  • 默認啟動端口是5000
  • 通過參數method設置register接收的請求方式
  • 文本數據獲取方式:request.forms
  • 文件數據獲取方式:request.files
from flask import Flask, request

app = Flask(__name__)


@app.route('/register/', methods=['GET', 'POST'])
def register():
    print(request.form)     # 獲取form表單提交過來的非文件數據,類似字典
    for item in request.form:
        print(item)
    avatar_obj = request.files.get('avatar')  #獲取文件,類似字典
    avatar_obj.save(avatar_obj.name)    # 保存文件
    return '注冊成功'


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM