flask简单代码回顾

笔记虽然不是本篇的

装饰器操作,实现url地址

import flask

app = flask.Flask(__name__) # 实例化类Flask

@app.route('/') # 装饰器操作,实现url地址
def helo(): # 定义业务处理函数
    return '耐克,巴萨足球队的主赞助商!'

if __name__ == '__main__':
    app.run() # 默认是5000端口

将不同的url映射到同一业务函数

import flask

app = flask.Flask(__name__)
# 将不同的url映射到同一业务函数
@app.route('/')
@app.route('/aaa')
def helo():
    return '你好,这是一个Flask程序!'

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

get请求与post请求

methods中设置请求方式,该值是个列表,参数类型是字符串

# -*- encoding:utf-8 -*-
import flask

html_txt = """
<!DOCTYPE html>
<html>
    <body>
        <h2>如果收到了GET请求</h2>
        <form method='post'>
        <input type='submit' value='按下我发送POST请求' />
        </form>
    </body>
</html>
"""
# methods中设置请求方式,该值是个列表,参数类型是字符串
app = flask.Flask(__name__) # 初始化实例Flask

@app.route('/',methods=['GET','POST']) # 不管是get方法还是post方法都被映射到helo()函数
def helo():
    if flask.request.method == 'GET':
        return html_txt
    else:
        return '我司已经收到收到POST请求!'

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

cookie的设置与读取

# -*- encoding:utf-8 -*-
import flask

html_txt = """
<!DOCTYPE html>
<html>
    <body>
        <h2>可以收到GET请求</h2>
        <a href='/get_xinxi'>点击我获取Cookie信息</a>
    </body>
</html>
"""
# 使用make_response对象设置cookie
app = flask.Flask(__name__)

@app.route('/set_xinxi/<name>')
def set_cks(name):
    name = name if name else 'anonymous'
    resp = flask.make_response(html_txt) # 设置响应对象
    resp.set_cookie('name',name) # 设置cookie
    return resp

@app.route('/get_xinxi')
def get_cks(): # 从cookie中读取数据并显示在页面中
    name = flask.request.cookies.get('name') # 获取cookie信息
    return '获取的cookie信息是:' + name # 打印cookie信息

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

实现文件上传功能

# -*- encoding:utf-8 -*-
import flask

app = flask.Flask(__name__)
# 上传的文件默认保存在运行文件的文件夹下 


@app.route('/upload',methods=['GET','POST'])
def upload():
    if flask.request.method == 'GET':
        return flask.render_template('upload.html') # 返回上传页面
    else: # # 如果是Post请求
        file = flask.request.files['file']  # 获取文件对象
        if file: # 如果对象不为空
            file.save(file.filename) # 保存上传的文件;save()中传入的是文件名
            return '亲,文件上传成功!'
        else:
            return '请上传有效文件!'

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

上传页面的html代码

<!DOCTYPE html>
<html>
    <body>
        <h2>亲,你可以选择一个将要上传的文件</h2>
        <form method='post' enctype='multipart/form-data'><!--文件上传表单一定要加这个-->
        <input type='file' name='file' />
        <input type = 'submit' value='点击我上传'/>
        </form>
    </body>
</html>
posted @ 2021-11-18 18:44  索匣  阅读(98)  评论(0编辑  收藏  举报