瓶框架实现给视图函数增加装饰器操作示例

  

本文实例讲述了瓶框架实现给视图函数增加装饰器操作。分享给大家供大家参考,具体如下:

  

在<代码> @app.route>         从进口瓶瓶,请求、render_template重定向,会话,url_for、视图   从瓶进口render_template   应用=瓶(__name__) #实例化瓶对象   app.debug=True #能够随时更改自动重启,不加的话每次更改代码需要手动重启   app.config [' SECRET_KEY ')=' 123456 ' # SECRET_KEY,用于给会话加密   @app.route('/登录',方法=暗玫健?“文章”,端点=t1) #端点是url的别名,相当于django url中的名字   def登录():   如果请求。方法==盎竦谩?   # res=request.query_string   #打印(res)获取通过得到请求url传过来的参数   返回render_template (“login.html”)   其他:   用户=request.form.get(“用户”)   pwd=request.form.get (pwd)   如果用户==滥贰蚿wd==?23’:   用户会话(“用户信息”)=#设置会话   返回render_template (“hello.html”)   返回render_template(登录。html的,错误='用户名或密码错误”)   def wap(函数):   def内部(* args, * * kwargs):   用户=session.get (“user_info”)   如果没有用户:   返回重定向(/登录)   返回func (* args, * * kwargs)   回归内心的   @app.route('/细节/& lt; int: nid>”,方法=玫健?端点=皀1”)   @wapper   )(国家免疫日def细节:   打印)(国家免疫日   返回render_template (“hello.html”)   “‘   如果给一个视图函数增加装饰器,应该加在app.route下面,这样的效果就是,   装饰器将下面的所有内容包裹,然后路由对应到这大的包裹中来。   需要注意端点要注明,如果不注明端点则默认用函数名来定义,   此时所有的函数名都叫内在了,所以需要注明端点,只是为了区分。   “‘   if __name__==癬_main__”:   app.run ()      之前      

另一种写法:

        进口functools   def wap(函数):   @functools.wraps(函数)   def内部(* args, * * kwargs):   返回func (* args, * * kwargs)   回归内心的   “‘   functools.wraps()相当于保留元信息   说白了就是,如果不加这个装饰器,那么你打印细节的__name__它就是内了,   因为加了装饰器,效果等同于内心的=(细节()),   如果在装饰器中加了functools这个装饰器,那么相当于给__name__重新赋值,内部。__name__=func.__name_ -   其函数的名字得以保留。   “‘   @wapper   def细节():   通过   打印(detail.__name__)      之前      

烧瓶的get_flashed_messages, flash

        从进口瓶瓶,get_flashed_messages, flash   应用=瓶(__name__)   app.secret_key=' asdf '   @app.route (“/?   def get ():   data=https://www.yisu.com/zixun/get_flashed_messages ()   打印(数据)   返回'Hello世界”   @app.route(/设置)   def组():   flash(“信息信息”)   “‘   闪现效果,相当于集视图函数执行2次,会在一个列表中存储两个flash函数的内容,   当执行get_flashed_messages的时候则会取出该列的表,并清空,类似字典的流行音乐。   具体用处不大…   “‘   返回“Hello world”   if __name__==癬_main__”:   app.run ()      之前      

flash还可以通过类别参数给flash内容归类,通过不同类别取不同内容。

  

更多关于Python相关内容可查看本站专题:《Python入门与进阶经典教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》,《Python字符串操作技巧汇总》及《Python文件与目录操作技巧汇总》

  

希望本文所述对大家Python程序设计有所帮助。

瓶框架实现给视图函数增加装饰器操作示例