02 flask request 上传

import os

from flask import Flask, render_template, request, redirect

app = Flask(__name__)


@app.route('/login', methods=['GET', 'POST'])  # 路由中将允许的请求方式全部加入
def login():
    if request.method == 'POST':  # 判断页面的请求方式 request.method
        # print(request.form.get('username'))  # flask中获取POST方式提交的表单数据 request.form.get   request.form.to_dict()
        # print(request.form.to_dict())
        # print(request.url)  # 拿到整个页面请求地址
        # print(request.url_charset)  # url的编码方式
        # print(request.url_root)  # 请求地址 host
        # print(request.url_rule)  # 请求路由地址
        # print(request.values)  # 包含了所有请求(POST,GET)中的数据,包括URL和Form中的数据
        # print(request.args.get('username'))  # 获取URL中的参数数据
        # print(request.args.to_dict())

        # 上传保存文件,并用原文件名保存至 upload目录下   获取flask特殊文件对象FileStorage
        my_file = request.files.get('my_file')  # 提取页面提交文件
        new_file = os.path.join('upload', my_file.filename)  # 拼接文件地址
        my_file.save(new_file)  # 保存文件

        # 获取其他数据
        # request.headers
        # request.cookies
        # request.path 和 request.url_rule 完全一样
        # request.host 和 request.url_root 完全一样

        # 特殊提交方式数据获取
        # request.json  # 获取Content-Type:application/json时提交的json数据
        # request.data  # 获取原始请求体中的数据,数据类型无法识别时
        return redirect('/')

   if request.method == 'GET': return render_template('login.html') @app.route('/') def index(): return render_template('index.html') if __name__ == '__main__': app.run()

 

posted @ 2020-12-24 21:13  纸短情长lol  阅读(51)  评论(0编辑  收藏  举报