Flask 入门整理笔记

1.创建Flask实例 第一Hello
    from flask import Flask
    app=Flask(__name__,static_folder="xx",static_url_path="xx",templates_folder="xx")
    @app.route("/",methods=["GET","POST"],endpoint="comeonbaby",strict_slashes=False)
    def index():
        return "hello"
    app.run()
2.一些参数
  • static_folder 静态文件存放路径 static
  • static_url_path, URL访问静态文件路径 /static
  • templates_folder 模板存放路径 templates

蓝图中也可以使用以上配置

3.应用配置
    app.DEBUG = True
    app.secret_key = "xxxx"

    app.config.from_object("setting.FlaskSetting")
    setting.py:
    class FlaskSetting(object):
        DEBUG = True,
        secret_key = "xxxx"
4.路由系统
访问路径:"/"
methods : 允许当前访问地址的请求方式,默认GET ,["POST"]
endpoint: 反向地址索引
strict_slashes : False结尾可以为 "/"  True 不可以
<int:nid> : 动态参数路由,指定了数据类型,只要不符合要求,就不会进入当前视图 def index(nid)
unexpected keyword argument 'nid'
defaults :路由默认参数 {k1:v1} def index(k1)
5.三剑客必知
HttpResponse : return "hello"
render_template : return render_template("index.html") 
redirect : return redirect("/index")
以上三剑客必须,从flask中导入
6.request
导入方式:from flask import request 
request.from : post 方式提交通常情况
request.args : GET 方式请求url参数
request.files: POST提交的FormData 中带有file
request.method : 请求的方式
request.path(类) : url相关 , 路径相关

request.json : application/json 数据头
request.data :无数据头或数据头不被认可
request.headers :请求头信息
request.values : to_dict 坑 GET 覆盖 POST

request.cookies: 获取浏览器cookie
7.Flask中的Jinja2
for {% for i in list %} {% endfor %}
if {% if 条件 %} {% elif %} {% else %} {% endif %}
list[0] list.0
dict.key dict[key] dict.get(key)

安全字符串:|safe Markup("安全字符串")

@app.template_global()
def a_b(a,b)

@app.template_filter()
def a_b(a,b)
1|a_b(2)

{% block content %}
{% endblock %}

include

{% marco func(a) %}
{% endmacro %}
8.session
from flask import session
app.secret_key="xxx"
9.蓝图(Blueprint)
from flask import Blueprint
lu = Blueprint("lu",__name__,初始化配置)
@lu.route("/lu")
def lus()

app.register_blueprint(Blueprint.lu)
10. 一些装饰器
  • @app.before_request() : 请求之前做处理,比如methods的请求方法
  • @app.after_requst() : 视图函数返回后做处理
  • @app.before_frist_request() : 第一次请求之前做处理
  • @app.errorheadler (404): 定义错误信息 def error_page(error_massage)
11. flash
from flask import flash
flash("message")

from flask import get_flashed_messages
get_flashed_messages() 导入
#一存放,一提取,消失
12. send_file
from flask import Flask,send_file

app = Flask(__name__)

@app.route('/index/<filename>')
def index(filename):
    return send_file(filename)


if __name__ == '__main__':
    app.run('0.0.0.0',5000,debug=True)
13. jsonify
from flask import Flask,jsonify

app = Flask(__name__)

@app.route('/json/')
def get_json():
    res = {
        'user_id':5,
        'password':'monicx1234'
    }
    return jsonify(res)

if __name__ == '__main__':
    app.run('0.0.0.0',5000,debug=True)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值