当前位置:网站首页>Detailed explanation of flask context
Detailed explanation of flask context
2022-07-04 22:22:00 【Wu_ Candy】
Step1: What is context
The context is equivalent to a container , Save the Flask Some information in the process of program running .Flask There are two contexts , Request context (request and session ) And application context (current_app and g).
Step2: Context instructions
- request: Request object , Encapsulates the http What's in the request
- session: The user's session , It is used to store the information needed between requests ‘ remember ‘ Dictionary of values for
- current_app: The program instance of the currently active program
- g: Objects used as temporary storage when processing requests . Each request resets this variable
Step3: Context code example
from flask import request,Flask,current_app,session,g
from datetime import timedelta
import os
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(24)
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7) # To configure 7 Days in effect
# Test request context request
@app.route('/request_context')
def request_context():
user_agent = request.headers.get("User-Agent")
# return "<p>Your browser is %s</p>" % user_agent
return f"<h1>Hello World!</h1>\nHello World!{user_agent}"
# Test application context current_app
@app.route("/currentapp_context")
def currentapp_context():
return "hello %s" % current_app.name
# Set up session
@app.route('/set_session')
def set_session():
session['username'] = 'steven' # Set up “ Dictionaries ” Key value pair
session['password'] = '123456'
session.permanent = True # Set up session Effective time of , Long term effectiveness , One month is valid ,
return 'login success'
# obtain session
@app.route('/get_session')
def get_session():
# The first one is session If it does not exist, an error will be reported
# session['username']
# Recommended session.get('username')
# session.get('username')
return session.get('password')
# Delete session
@app.route('/delete_session/')
def delete_session():
print(session.get('username'), session.pop('username', None))
# perhaps session['username'] = False
print(session.get('username'))
return "delete session is success"
# eliminate session All data in
@app.route('/clear_session')
def clear_session():
print(session.get('username'))
# eliminate session All data in
session.clear
print(session.get('username'))
return 'clear session is success'
# Defines a method , use g To get one name Value
def test_g():
return g.get('name',"no name")
# Test application context g
@app.route('/testG')
def test():
g.name = ' Zhang San '
test_g()
return test_g()
# Defines a submitted form
@app.route('/testRequest')
def test1():
return '<form action="/getUser" method="get"> ' \
'<input type="text" name="username" value=""> ' \
'<input type="submit" value=" Submit "> ' \
'</form>'
# Test request context request
@app.route('/getUser',methods=['GET'])
def getUser():
username=request.values.get('username')
return "my name is "+username
if __name__ == '__main__':
app.run(debug=True)
end
边栏推荐
猜你喜欢
Ascendex launched Walken (WLKN) - an excellent and leading "walk to earn" game
国产数据库乱象
机器学习笔记 - 互信息Mutual Information
Locust性能测试 —— 环境搭建及使用
El tree combined with El table, tree adding and modifying operations
Nat. Commun.| 机器学习对可突变的治疗性抗体的亲和力和特异性进行共同优化
广电五舟与华为签署合作协议,共同推进昇腾AI产业持续发展
i. Mx6ull driver development | 24 - platform based driver model lights LED
Scala下载和配置
Deveco device tool 3.0 release brings five capability upgrades to make intelligent device development more efficient
随机推荐
Concurrent optimization summary
迷失在Mysql的锁世界
能源势动:电力行业的碳中和该如何实现?
ApacheCN 翻译、校对、笔记整理活动进度公告 2022.7
面试题 01.01. 判定字符是否唯一
Bizchart+slider to realize grouping histogram
Huawei Nova 10 series released Huawei application market to build a solid application security firewall
Xiangjiang Kunpeng joined the shengteng Wanli partnership program and continued to write a new chapter of cooperation with Huawei
不同环境相同配置项的内容如何diff差异?
Ascendex launched Walken (WLKN) - an excellent and leading "walk to earn" game
Convolutional neural network model -- lenet network structure and code implementation
B站大量虚拟主播被集体强制退款:收入蒸发,还倒欠B站;乔布斯被追授美国总统自由勋章;Grafana 9 发布|极客头条
Flask 上下文详解
Éducation à la transmission du savoir | Comment passer à un test logiciel pour l'un des postes les mieux rémunérés sur Internet? (joindre la Feuille de route pour l'apprentissage des tests logiciels)
LOGO特训营 第五节 字体结构与设计常用技法
el-tree结合el-table,树形添加修改操作
Force buckle 2_ 1480. Dynamic sum of one-dimensional array
Scala下载和配置
凭借了这份 pdf,最终拿到了阿里,字节,百度等八家大厂 offer
VS2019 C# release下断点调试