什么是Flask
Flask是一个轻量级的可定制的网页框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。今天训练营就和大家利用Flask开发一个小网站。
from flask import Flask
app = Flask(__name__)
def test():
return '这是一个Flask实例'
if __name__ == '__main__':
app.run()
其中app = Flask(__name__)相当于是初始化了一个flask对象。
@app.route('/')
def test():
return '这是一个Flask实例'
是建立一个访问的路径并对其中的内容进行声明
if __name__ == '__main__':
app.run()
Flask的入口,启动整个Flask项目,接下来运行下看看
Flask已经为我们准备好了端口,现在访问
当然可以在app.run()
中添加参数来指定端口,比如这样
if __name__ == '__main__':
app.run(port=9234)
接下来我们再生成项目
可以发现项目的端口已经变为了9234
一、显示一个HTML网页
这里我们需要导入Flask下额外的render_template
from flask import Flask, render_template
我们自己制作或者获取一个HTML页面,之后我们建立一个templates文件夹在项目中,默认情况下,Flask会在程序文件夹中的 templates 的子文件夹中搜索模板,这里我们简单写一个HTML页面
<html>
<head>
<meta charset="utf-8">
<title>Flask测试</title>
</head>
<body>
<h1>大标题</h1>
<p>内容</p>
</body>
</html>
之后利用render_template进行打开
@app.route('/')
def test():
return render_template('test.html')
看看效果
二、开启Debug模式
开启Debug模式对我们进行生产开发非常重要,不再需要手动编译启动项目就可以看见对项目的更改,我们只需要,在run函数下声明debug参数为True即可
if __name__ == '__main__':
app.run(port=9234,debug=True)
来测试下,修改了route路径@app.route('/ssw')
可以发现Flask马上对修改进行了重新加载
这样我们就不再能访问到刚才的页面了
需要按照新的地址进行访问
值得注意的是如果Flask在debug模式下重启会启动俩子线程。在数据写入时会重复写入。需要对其方法加锁。
三、Cookie操作
导入make_response,这使得返回的不仅仅是字符串,而是会对返回值进行一些列的封装,变成一个response响应对象
from flask import Flask, render_template, make_response
修改刚才的方法
@app.route('/ssw')
def test():
resp = make_response(render_template('test.html'))
resp.set_cookie('Test', 'this is test')
return resp
在进行访问,可以看到我们得到了一个cookie,另外可以通过参数max_age来规定cookie的有效时间
如
resp.set_cookie('Test', 'this is test', max_age=3321)
其单位是秒
如果想要访问获取cookie那么可以导入request
from flask import Flask, render_template, make_response,request
这里我们建立一个新的路径
@app.route('/cookie')
def getcookie():
cookies = request.cookies.get("Test")
return cookies
通过cookies.get可以访问指定key下的cookie值
如果想要删除cookie那么可以使用make_response下的方法delete_cookie删除指定key下的cookie值
@app.route('/delcookie')
def del_cookie2():
resp = make_response('删除cookie了')
resp.delete_cookie('Test')
return resp
【Flask框架(flask中对cookie的处理(设置cookie、获取cookie、删除cookie))】https://blog.csdn.net/wei18791957243/article/details/85172653
地址|北京市海淀区奥北科技园20号楼5层
原文始发于微信公众号(大学生网络安全尖锋训练营):【学习园地】Flask简单网页(一)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论