当前位置:网站首页>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
边栏推荐
- LOGO特训营 第三节 首字母创意手法
- idea中pom.xml依赖无法导入
- Concurrent network modular reading notes transfer
- Bizchart+slider to realize grouping histogram
- ApacheCN 翻译、校对、笔记整理活动进度公告 2022.7
- 国产数据库乱象
- 嵌入式开发:技巧和窍门——提高嵌入式软件代码质量的7个技巧
- Bookmark
- Force buckle 2_ 1480. Dynamic sum of one-dimensional array
- The use of complex numbers in number theory and geometry - Cao Zexian
猜你喜欢
Deveco device tool 3.0 release brings five capability upgrades to make intelligent device development more efficient
迷失在Mysql的锁世界
Visual task scheduling & drag and drop | scalph data integration based on Apache seatunnel
【Acwing】第58场周赛 题解
HUAWEI nova 10系列发布 华为应用市场筑牢应用安全防火墙
Kdd2022 | what features are effective for interaction?
NAACL-22 | 在基于Prompt的文本生成任务上引入迁移学习的设置
AscendEX 上线 Walken (WLKN) - 一款卓越领先的“Walk-to-Earn”游戏
Concurrent network modular reading notes transfer
Scala下载和配置
随机推荐
vim 从嫌弃到依赖(23)——最后的闲扯
New intersectionobserver usage notes
Visual task scheduling & drag and drop | scalph data integration based on Apache seatunnel
并列图的画法,多排多列
迷失在Mysql的锁世界
From repvgg to mobileone, including mobileone code
PHP short video source code, thumb animation will float when you like it
服装企业为什么要谈信息化?
idea中pom.xml依赖无法导入
PMO:比较25种分子优化方法的样本效率
ACM multimedia 2022 | counterfactual measurement and elimination of social prejudice in visual language pre training model
The proofreading activity of data science on the command line second edition was restarted
[Yugong series] go teaching course 003-ide installation and basic use in July 2022
ACM Multimedia 2022 | 视觉语言预训练模型中社会偏见的反事实衡量和消除
Bizchart+slider to realize grouping histogram
WebGIS framework -- kalrry
网上开户哪家证券公司佣金最低,我要开户,网上开户安全吗
力扣_回文数
Implementation rules for archiving assessment materials of robot related courses 2022 version
Relational database