2024-09-15学习记录

这几天看了2章Flask Web开发实战,记录一下自己的学习感悟以免后续有所遗忘了

这本书非常厚,不过从目录来看,大约只有前3分之1的内容是Flask框架的一些知识要点,后面基本上是一些项目的实例,有之前使用Django框架的基础,对于这本书的阅读也是相对比较轻松。


第一章主要讲述的还是一些环境配置相关的问题,重点主要有两个

一个是如何写出一个最基础的程序hello,flask!

和django有所不同,flask框架的路由和函数都写在了一个py文件里

只需要在py文件的开头创建一个程序实例,然后在函数的上方写上@app.route()这样的路由即可

第二个就是关于URL与端点

在url_for()里面写上视图函数的名称就能得到对应的url


第二章讲的是Flask与HTTP,我想摘录一些有价值的内容

首先是URL变量转换器,形式为:<int:year>这样

然后是关于请求钩子(Hook),可以用它来对请求进行预处理和后处理

然后是关于重定向,在return的时候用redirect,在里面写上要跳转的地址即可,也可以与url_for搭配使用


之后的重点就是Cookie和Session

如果想要在响应里添加一个cookie,最方便的方法是使用Response类提供的set_cookie()方法。要使用这个方法,我们需要先使用make_response()方法手动生成一个响应对象。

而session比起cookie更加安全

首先要设置程序秘钥app.secret_key=xxx,通过session['logged_in']=True这样的形式来设置session

用户登出的时候可以通过session.pop()来删除session


上下文全局变量

为什么request明明只是从Flask导入的一个全局对象,为什么在处理请求时,视图函数里的request会自动包含对应请求的数据?这是因为Flask会在每个请求产生后自动激活当前请求的上下文,激活请求上下文后,request被设为临时全局可访问。当请求上下文被激活后,程序上下文也自动被激活。

对于这一部分内容我有所疑问,于是让gpt为我进行讲解

想象一下,你在一个图书馆工作,这个图书馆非常特殊:每当一个读者来借书时,图书馆都会为这位读者创建一个专属的工作区域。这些工作区域就像“请求上下文”,而图书馆的整体管理系统则类似于“程序上下文”。

求上下文(Request Context)

当一个读者进入图书馆时,图书馆会为他分配一个工作区域,这个区域里有他的借书记录、当前借的书籍等等。这就像Flask中的请求上下文,当每个请求进来时,Flask会为这个请求“创建”一个专属的上下文环境。在这个环境里,像request这样的全局对象就被“设置”成和当前请求相关的数据,比如请求的URL、表单数据、用户的会话信息等。

你可以把request对象看作是这位读者的工作区域中的借书记录。只要你在这个区域里工作,你就能看到和这位读者相关的所有信息。但如果没有进入这个区域,你就无法看到这些信息。


程序上下文(Application Context)

图书馆不仅要为每位读者提供工作区域,还要有一个整体的管理系统来维护图书馆的运营,比如图书馆的开放时间、所有书籍的分类信息等等。这就是程序上下文,它涉及到整个Flask应用的状态和配置,比如数据库连接、全局设置等。

在Flask中,程序上下文和请求上下文是紧密相关的,但它们分别管理不同的内容。程序上下文是整个应用的状态,而请求上下文则是特定请求的状态。


之后提到了HTTP进阶的一些内容

关于如何重定向到上一个页面,有2种方法

第一种(不常用)是通过referrer来获取上一个页面

return redirect(request.referrer)

第二种是利用查询参数

在url中加入包含当前页面url的参数next

url_for('dosomething',next=request.full_path)

这样在重定向的时候可以return redirect(request.args.get(next),url_for('hello'))

在重定向的时候还需要进行安全验证


在返回数据的时候,可以通过jsonify()来返回json数据

记录的比较乱,看完以后如果不复习的话感觉马上就会又忘掉了,所以16号白天决定还是再复习一下看过的内容

然后再继续往下看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容