flask知识点

1.app.route()中的参数

app.route(rule, methods=请求类型, endpoint=给路由起别名)

2. endpoint使用

from flask import url_for url_for(‘给路由起的别名’)
如果没有设置endpoint,则默认是rule,如:’/index’ url_for(‘index’)

3.request对象

from flask import request

1)request.method:查看浏览器的请求方式【GET/POST】
2)request.args.get():获取GET请求传递的参数
request.form.get():获取POST请求传递的参数

4.session对象

from flask import session
注:创建session要在配置文件设置SECRET_KEY。session是一个类字典对象,字典有的方法session都有

① 设置session:session[ ] = xxx
② 从session中取值:session.get()
③ 删除session:del session[ ]

5.路由重定向

from flask import redirect
redirect(‘路由’)

6.视图函数接受路由的传参

路由传参规则:
@app.route(’/user/<username>’) 默认传递字符串
@app.route(’/post/<int:post_id>’) 传递int
@app.route(’/post/<float:post_id>’) 传递float
@app.route(’/post/<path:path>’) 传递一个路径

7.使用redis存储session

pip install flask-session

① 在配置文件settings.py中添加
PERMANENT_SESSION_LIFETIME = timedelta(minutes=20) # 设置session存到cookie的过期时间
SESSION_TYPE = “redis” # 存储session的类型
SESSION_REDIS = Redis(host=‘x.x.x.x’, port=‘6379’) # session的ip和端口

②在__ini__.py的create_app函数中添加:
from flask_session import Session
# 将session替换成redis session
Session(app)

8.模板宏

8.1 定义不带参数宏

{% macro input() %}
<input type=“text” value="" size=“30”>
{% endmacro%}

调用:{{ input() }}

8.2 定义带参数宏

{% macro input2(type, value, size) %}
<input type="{{type}}" value="{{value}}" size="{{size}}">
{% endmacro %}

调用:{{ input2(“password”, “”, 50) }}

8.3 定义带默认参数宏

{% macro input3(type=“text”, value="", size=30) %}
<input type="{{type}}" value="{{value}}" size="{{size}}">
{% endmacro %}

调用:{{ input3(“password”, “”, 100) }}

8.4 调用外部宏

外部html:
{% macro input4(type=“text”, value="", size=30) %}
<input type="{{type}}" value="{{value}}" size="{{size}}">
{% endmacro %}

当前html 导入:
{% import “外部.html” as 别名 %}

调用:{{ 别名.input4() }}

9.模板的闪现

  • 返回之前在Flask中通过 flash() 传入的信息列表。把字符串对象表示的消息加入到一个消息队列中,然后通过调用 get_flashed_messages() 方法取出。

视图.py

@app.route("/")
def index():
    if flag:
        # 添加闪现信息
        flash("hello1")
        flash("hello2")
        flash("hello3")
        global flag
        flag = False
    return render_template("index.html")

模板.html

{% for message in get_flashed_messages() %}
    {{ message }}
{% endfor %}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值