模版、请求相应

模版

'''
支持函数加括号并且传参
其它的用法完全同DTL
模版中处理:{{ ss|safe }}
视图函数中:ss = Markup(ss)
如何处理xss攻击
    html中的符号替换成了特殊字符
    Markup或是|safe是把特殊字符重新替换回来
Markup等价于django的mark_safe
extends,include一模一样
'''
from flask import Flask, render_template, Markup

app = Flask(__name__)


def func1(args):
    return Markup("<input type='text' value='%s' />" % (args,))


@app.route('/')
def jin_jia():
    return render_template('jin_jia.html', ff=func1)


if __name__ == '__main__':
    app.run()
# html页面中渲染
{{ ff('xxx') }}

请求响应

request请求对象
form,args,methos
response响应对象
写cookie,写headers

    from flask import Flask
    from flask import request
    from flask import render_template
    from flask import redirect
    from flask import make_response

    app = Flask(__name__)


    @app.route('/login.html', methods=['GET', "POST"])
    def login():

        # 请求相关信息
        # request.method
        # request.args
        # request.form
        # request.values
        # request.cookies
        # request.headers
        # request.path
        # request.full_path
        # request.script_root
        # request.url
        # request.base_url
        # request.url_root
        # request.host_url
        # request.host
        # request.files
        # obj = request.files['the_file_name']
        # obj.save('/var/www/uploads/' + secure_filename(f.filename))

        # 响应相关信息
        # return "字符串"
        # return render_template('html模板路径',**{})
        # return redirect('/index.html')
        #return jsonify({'k1':'v1'})

        # response = make_response(render_template('index.html'))
        # response是flask.wrappers.Response类型
        # response.delete_cookie('key')
        # response.set_cookie('key', 'value')
        # response.headers['X-Something'] = 'A value'
        # return response
        return "内容"

    if __name__ == '__main__':
        app.run()
原文地址:https://www.cnblogs.com/ShenJunHui6/p/11219484.html