当前位置: 首页 > news >正文

唐山哪个公司可以制作网站个人开发小程序多少钱

唐山哪个公司可以制作网站,个人开发小程序多少钱,seo搜索引擎优化ppt,启东市住房城乡建设局网站flask中也有类似与django中的中间件,只不过是另一种写法,但是他们的作用是一样的,下面我们就一一介绍: 1.before_request 作用 : before_request 相当于 django 中的 process_request,每一个请求在被处理前都会经…

flask中也有类似与django中的中间件,只不过是另一种写法,但是他们的作用是一样的,下面我们就一一介绍:

1.before_request   

  • 作用 : before_request 相当于 django 中的 process_request,每一个请求在被处理前都会经过这个方法
  • 应用 : 用户登录认证(这样避免了每一个视图函数都加用户登录认证的装饰器)
  • 注意 : before_request 的返回值为 None 才会往后走, 否则直接返回你的返回值,如果定义了after_request那么会接着它执行, 最终本次请求响应结束
from flask import Flask, request, render_template, session, url_for, redirect, flash, get_flashed_messages
from markupsafe import Markupapp = Flask(__name__)
app.debug = Trueapp.secret_key = 'the_secret_key'@app.before_request
def process_request(*args, **kwargs):# 判断访问的是不是登入路径,是的话返回None继续往后走if request.path == '/login':return Noneelse:# 不是的话判断是否携带用户信息(判断是否登入状态)username = session.get('username')print('username', username)if username:return Noneelse:# 如果没有,则重定向到登入界面return redirect('/login')@app.route('/login')
def login():username = request.args['username']print(username)if username == 'shawn':session['username'] = usernamereturn redirect('/index')else:return render_template('login.html')@app.route('/index')
def index():return render_template('index.html')if __name__ == '__main__':app.run()

 2. after_request

  • 作用 : 类比django中间件中的process_response,如果请求没有出现异常的情况下, 会在请求返回return之前执行. 但是如果有多个顺序是从下往上执行.

  • 与Django中process_response的区别

Django中当请求返回return后, 会从当前位置结束接着从当前位置response出去Flask中的after_request请求返回return之后, 后面的response也会一个个走完
@app.after_request  # 后执行
def process_response1(response):print('process_response1')return response@app.after_request  # 先执行
def process_response2(response):print('process_response2')return response

3.before_first_request

  • 作用 : 顾名思义, 项目启动第一次请求时触发执行
  • 应用 : 项目初始化用来保证以后项目只要不重启就不再继续执行
@app.teardown_request
def ter(e):print("不管什么情况,都会触发,即便遇到了异常")

4. teardown_request

  • 效果 : 不管什么情况, 都会触发, 即便遇到了异常, 并且返回return没有任何效果, 无法控制返回结果
  • 应用 : 记录日志
@app.teardown_request
def ter(e):print("不管什么情况,都会触发,即便遇到了异常")

5.errorhandler

  • 作用: 绑定错误的状态码进而可以捕获服务器的错误, 并返回对应的错误页面
@app.errorhandler(404)
def error_404(arg):return "404页面找不到了..."

6.template_global

  • 作用: 全局的标签, 在任意的html页面中就可以直接使用, 不需要在render_template中传递参数以后才能使用
@app.template_global()
def gl(a1, a2):return a1 + a2# html 文件中使用
{{ gl(1,2) }}

 7.template_filter

  • 作用: 全局的过滤器, 在任意的html页面中就可以直接使用, 不需要在render_template中传递参数以后才能使用
@app.template_filter()
def db(a1, a2, a3):return a1 + a2 + a3# html 文件中使用,相比较Django的过滤器最多只能传两个参数,这里可以传多个
# 1传给a1,2-->a2,3-->a3
{{ 1|db(2,3) }}

详细:🍖Flask请求扩展及中间件 - 给你骨质唱疏松 - 博客园 (cnblogs.com)

http://www.yayakq.cn/news/952833/

相关文章:

  • 网站域名服务器查询怎么做网站首页关键词
  • asp 网站运行wordpress footer设置
  • 泾川县住房和城乡建设局网站英语作文网站
  • 国外做多媒体展览的网站松江网站设计
  • 站牛网建设一个网站首先需要什么
  • 集团网站品牌建设特点广州网站建设商家
  • 水印网站和县网站定制
  • 那些外贸网站个人可以做比较好的平面设计网站
  • 做豆腐交流经验的网站晋城做网站公司
  • 南昌专门做网站的人淘宝客网站程序购米
  • 北京网站建设著名公司手机如何做api网站
  • 制作网站的花多少钱星空无限传媒在线观看电视剧赘婿
  • 辽宁建设工程信息网官网新网站如何进入wordpress文章内容宽度
  • 网站重新备案怎么做网站需求分析网站建设
  • 温州微网站制作公司电话wordpress做ftp
  • 百度搜索网站图片法国化妆品进口报关做网站
  • 高端婚纱摄影网站做国外服务器网站吗
  • 怎么建设回收网站重庆市建设工程信息网文件打不开
  • 驰业传媒网站建设厦门网络建站公司
  • 网站推广公司兴田德润在哪儿多功能创意产品设计
  • 主备网站服务器自动切换 win2003越秀企业网站建设
  • 看乱码的网站杭州做网站的优质公司哪家好
  • 腾讯企点app优化关键词排名外包
  • 多用户网站管理系统企业需求发布平台
  • 网站友情链接建设工商官网查询企业信息
  • 私人网站制作怎么做网站更新和维护
  • asp代码如何修改asp网站网页域名名称1元做网站方案
  • 网站副标题wordpress做网站前怎么建立数据结构
  • 淮安网站建设要多少钱微官网入口
  • 谁能给我一个网站做网站 设计师很