flask

flask基础框架

from flask import Flask
#注册flask框架
app=Flask(__name__)
#注册路由
@app.route('/')
def index():
	return 'hello world'
#跟django不同的点在于需要一个入口去运行
if __name__=='__main__'
	app.run()

flask的具体内容

三板斧
return 'xxx' #返回字符串
return render_template('xxx.html') #加载数据
return redirect('xxx.html') #跳转网页

FBV路由配置
@app.route(url='路由',methods=['请求'],endpoint='别名')
app.add_url_rule('路由',view_func=IndexView.as_view('index'))

CBV的路由配置
app.add_url_rule('url',view_func=IndexView.as_view('别名'))


反向解析
url_for('别名')

模板语言jinja2
与django的模板语言dtl相同,与其相比更加的强大

转换器
可以固定路径中名词的类型例如:int,string

无名分组与转换器
@app.route('/detail/<int:nid>',methods=['GET'])

配置文件(三种方式)
	1.app.config['']=''(导入单个)
	2.app.config.from_pyfile('python文件名称')(全部导入)
	3.app.config.from_object('文件名称下继承config的类')(导入类)

cookies和session
	-通过SECRET_KEY加密以后,当做cookie返回给浏览器
    -下次发送请求,携带cookie过来,反解,再放到session中
    注:配置session时必须写SECRET_KEY

闪现(flash)
闪现就是一个只能调用一次的空间,当你调用过后,该值就会消失
-设置:flash('aaa')
-取值:get_flashed_message()

-设置:flash('lqz',category='error1') #category相当于给与一个标志
-取值:res=get_flashed_messages(category_filter=['error1'])
# 当使用category_filter时就能取出对应标志的值
# 当然使用get_flashed_messages()就能将值全部取出来

请求拓展(类似于中间件,但不是中间件)
	@app.before_request 请求来时触发
	@app.before_first_request 请求第一次来时触发
	@app.after_request 请求走后触发
	@app.teardown_request 视图执行完就会执行
	@app.errorhandler(404) 判断状态码是否正确,正确就走这个函数
	@app.template_global()全局标签
	@app.template_filter()全局过滤器(写起来与django不太一样请注意)

蓝图
	蓝图类似于django中include做路由分发,用来分文件与app的
		在主启动界面写入要注册的蓝图
			app.register_blueprint(views.blueprint)
		在对应的视图里写入蓝图对象
			蓝图名字=Blueprint('views',__name__)
g对象
	g对象是一个全局变量,它的作用在于它只存在一个。当你对齐赋值时,它永远是那个最新的值
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值