#LAS

flask 对URL进行安全验证 --

 对URL进行安全验证虽然我们已经实现了重定向会上一个页面的功能,但是安全问题不容忽视,鉴于referer和next容易被串篡改的特性,我们需要对这些值进行验证,否则会形成开放重定向漏洞 以URL中的next参数为例,next变量以字符串的形式写在url里,因此任何人都可以发给某个用户一个包含nex...

flask 重定向到上一个页面,referrer、next参数 --

重定向会上一个页面在某些场景下,我们需要在用户访问某个url后重定向会上一个页面,比如用户点击某个需要登录才能访问的连接,这时程序会重定向到登录页面,当用户登录后比较合理的行为是重定向到用户登录前浏览的页面。 下面的例中,在foo和bar视图中生成连接,链接过去后,没有重定向会上一个页面@app.route(...

flask上下文全局变量,程序上下文、请求上下文、上下文钩子 --

Flask上下文 Flask中有两种上下文,程序上下文(applicationcontext)和请求上下文(requestcontext)当客户端发来请求时,请求上下文就登场了。请求上下文里包含了请求的各种信息,比如请求的URL,请求的HTTP方法等。 上下文全局变量视图函数需要上下文信息,flas...

flask设置cookie,设置session,模拟用户认证、模拟管理后台admin、模拟用户logout --

设置cookieHTTP协议是无状态的,在一次请求响应结束后,服务器不会留下关于客户端状态的信息。但是对于某些web程序来说,客户端的信息有必要被记住,比如用户的登录状态,这样就可以根据用户的状态来返回不同的响应。为了解决这个问题就有cookie技术。cookie技术通过在请求和响应报文中添加cookie数据来保存客户...

flask请求钩子、HTTP响应、响应报文、重定向、手动返回错误码、修改MIME类型、jsonify()方法 --

 请求钩子:当我们需要对请求进行预处理和后处理时,就可以用Flask提供的回调函数(钩子),他们可用来注册在请求处理的不同阶段执行的处理函数。这些请求钩子使用装饰器实现,通过程序实例app调用,以before_request钩子为例(请求之前),当你对一个函数附加了app.before_request装饰器后...

Flask内置URL变量转换器 --

 Flask内置URL变量转换器: 转换器通过特定的规则执行,”<转换器:变量名>”。<int:year>把year的值转换为证书,因此我们可以在视图函数中直接对year变量进行数学计算:@app.route('/goback/<int:year>'defgo_b...

Flask视图函数报fmalformed url rule错误的原因 --

Flask视图函数报fmalformedurlrule错误,原因可能是包含中文字符了把标点符号都重新写一遍英文格式的,可能就不会报这个了...

flask debug=false时,flask mail如何获取smtplib的debug日志(flask mail获取邮件发送结果)

在用flaskmail发送邮件时,如果debug设置为False时,发现flaskmail发送邮件时没有打印日志信息,就是reply:...send:....之类的调查了flaskmail源码,发现flaskmail发送邮件通过对smtplib模块的封装实现的,在调用smtplib发送邮件之前,会传入一个debug级别...

flask-restful在解析的请求一定要传content-type:application/json吗?答:其实不需要!

在处理flask-restfulapi请求时,因为postman发送的格式为text,没有携带content-type:application/json,在解析参数的时候,参数的值都给搞成了空,导致请求的失败那么怎么避免这个问题呢,找了一堆的资料,最后知道可以不用args[]那种方式获取参数,先占坑,晚上回来补。。。。...

windows下apache + mod_wsgi + python部署flask接口服务

 windows下apache+mod_wsgi+python部署flask接口服务为啥要装虚拟环境?原因1:安装虚拟环境是为了使项目的环境和全局环境隔离开,在虚拟环境中,我们可独立的安装需要的包,不影响系统中全局python环境的配置,一台机器可根据不同项目创建多个虚拟环境,相互不会影响原因2:根据网上的采...

flask实战-个人博客-编写博客前台

编写博客前台博客前台需要开放给所有用户,这里包括显示文章列表、博客信息、文章内容和评论等功能功能。 分页显示文章列表为了在主页显示文章列表,我们要先在渲染主页模板的index视图的数据库中获取所有文章记录并传入模板:blueprintslog.py: frompersonalBlog.models...

flask实战-个人博客-电子邮件支持

电子邮件支持因为博客要支持评论,所以我们需要在文章有了新评论后发邮件通知管理员。而且,当管理员回复了读者的评论后,也需要发送邮件提醒读者。 为了方便读者使用示例程序,personalBlog中仍然使用Flask-Mail来发送邮件。读者在运行程序前需要在项目根目录内创建.env文件写入对应的环境变量,以便让发...

flask实战-个人博客-视图函数

视图函数在上面我们创建了所有必须的模型类、模板文件和表单类。经过程序规划和设计后,我们可以创建大部分视图函数。这些视图函数暂时没有实现具体功能,仅渲染对应的模板,或是重定向到其他视图。以blog蓝本为例,如下所示: personalBlog/blueprints/blog.py:创建视图函数 #en...

flask实战-个人博客-表单

表单下面我们来编写所有表单类,personalBlog中主要包含下面这些表单:登录表单;文章表单;评论表单;博客设置表单; 这里仅介绍登录表单、文章表单、分类表单和评论表单,其他的表单在实现上基本相同。 删除资源也需要使用表单来实现,这里之所以没有创建表单类,是因为后面我们会介绍在实现删除操作时为表...

flask实战-个人博客-模板 --

模板personalBlog采用典型的博客布局,左侧三分之二为主体,显示文章列表、正文;右侧三分之一为边栏,显示分为类列表、社交链接等。现在的工作是将HTML文件加工为模板,并创建对应的表单类,在模板中渲染。并非所有的页面都需要添加边栏,所以我们不能把它放到基模板中。为了避免重复和易于维护,我们把边栏部分的代码放到了局...
首页上一页...2930313233...下一页尾页