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

莆田网站建设团队单页网站cms

莆田网站建设团队,单页网站cms,出入西安最新通知今天,建设网站公司有哪些登录认证装饰器 # 0 装饰器的本质原理-# 类装饰器#xff1a;1 装饰类的装饰器 2 类作为装饰器 # 1 装饰器使用位置#xff0c;顺序 # 3 flask路由下加装饰器#xff0c;一定要加endpoint-如果不指定endpoint#xff0c;反向解析的名字都是函数名#xff0c;不加装饰器…登录认证装饰器 # 0 装饰器的本质原理-# 类装饰器1 装饰类的装饰器 2 类作为装饰器 # 1 装饰器使用位置顺序 # 3 flask路由下加装饰器一定要加endpoint-如果不指定endpoint反向解析的名字都是函数名不加装饰器没有问题就是正常函数indexdetail-如果加了装饰器---》indexdetail都变成了inner---》反向解析的名字都是函数名inner报错了-wrapper装饰器----》把它包的更像---》函数名变成了原来函数的函数名 def add(func):print(func)# 类装饰器1 装饰类的装饰器 2 类作为装饰器# add 一定是个函数吗 # 放个对象 class Person:def __call__(self, func):def inner(*args, **kwargs):res func(*args, **kwargs)return resreturn innerp Person()# add # testadd(test)---test变成了None p # testp(test) # p() 会触发__call__---Person的 __call__(func)---返回inner以后test就是inner---》test(参数)--》执行的是inner def test():print(test)print(test)def auth(func):def inner(*args, **kwargs):res func(*args, **kwargs) # 真正的执行视图函数执行视图函数之判断是否登录res.namelqzreturn resreturn innerauth # Fooauth(Foo) class Foo():passfFoo() # Foo() 调用 ---》inner()---类实例化得到对象返回以后f就是Foo的对象但是可以里面多了属性或方法 print(f) print(f.name)### 有参装饰器---额外为被装饰的函数传参数 auth(10) # Fooauth(10)(Foo) class Foo():pass 配置文件 PS 由于Config对象本质上是字典所以还可以使用app.config.update(...) app.config[DEBUG] True#通过py文件配置 app.config.from_pyfile(python文件名称) 如 settings.py DEBUG True app.config.from_pyfile(settings.py)#通过环境变量配置 app.config.from_envvar(环境变量名称) #app.config.from_pyfile(os.environ[YOURAPPLICATION_SETTINGS]) 环境变量的值为python文件名称名称内部调用from_pyfile方法# JSON文件名称必须是json格式因为内部会执行json.loads app.config.from_json(json文件名称)# 字典格式 app.config.from_mapping({DEBUG: True})# 对象 app.config.from_object(python类或类的路径)app.config.from_object(pro_flask.settings.TestingConfig)settings.pyclass Config(object):DEBUG FalseTESTING FalseDATABASE_URI sqlite://:memory:class ProductionConfig(Config):DATABASE_URI mysql://userlocalhost/fooclass DevelopmentConfig(Config):DEBUG Trueclass TestingConfig(Config):TESTING TruePS: 从sys.path中已经存在路径开始写PS: settings.py文件默认路径要放在程序root_path目录如果instance_relative_config为True则就是instance_path目录Flask对象init方法的参数路由系统 #  1  flask路由系统是基于装饰器的参数如下 # 2 转换器 # 3 路由系统本质 # 4 endpoint 不传会怎么样,不传会以视图函数的名字作为值但是如果加了装饰器所有视图函数名字都是inner就会出错使用wrapper装饰器再装饰装饰器 from flask import Flaskapp Flask(__name__)# 1 flask路由系统是基于装饰器的参数如下 # rule路径 # methods 请求方式列表 # endpoint 路径别名# 2 转换器string int path default: UnicodeConverter, string: UnicodeConverter, any: AnyConverter, path: PathConverter, int: IntegerConverter, float: FloatConverter, uuid: UUIDConverter, ## 3 路由系统本质--读源码def decorator(f: T_route) - T_route:endpoint options.pop(endpoint, None) #从options弹出如果没有就是None ---》app.route(传了就有不传就是None)self.add_url_rule(rule, endpoint, f, **options)return f # f 就是视图函数没有对视图函数做事情只是在执行视图函数之前加了点操作核心self.add_url_rule(rule, endpoint, f, **options)---》self就是app对象 app.add_url_rule(路由地址, 路由别名, 视图函数, **options)---跟django很像add_url_rule的参数详解rule, URL规则路径地址view_func, 视图函数名称defaults None, 默认值, 当URL中无参数函数需要参数时使用defaults {k: v}为函数提供参数endpoint None, 名称用于反向生成URL即 url_for(名称)methods None, 允许的请求方式如[GET, POST]#对URL最后的 / 符号是否严格要求strict_slashes None#重定向到指定地址redirect_to None, 4 endpoint 不传会怎么样,不传会以视图函数的名字作为值但是如果加了装饰器所有视图函数名字都是inner就会出错使用wrapper装饰器再装饰装饰器## 4# app.route(/detail/int:nid,methods[GET],endpointdetail) # app.route(/path:aa, methods[GET]) app.route(/, methods[GET]) # indexapp.route(/aa, methods[GET])(index)---indexdecorator(index) def index(name):print(name)return hello worlddef home():return home# app.add_url_rule(/, index, index,defaults{name:lqz}) # app.add_url_rule(/home, home, home,strict_slashesTrue,redirect_to /)if __name__ __main__:app.run()
http://www.hkea.cn/news/14407988/

相关文章:

  • 有没有做京东客好的网站推荐新媒体运营和ui设计哪个好
  • 求有题目做的学习网站建设部网站八大员查询
  • 厦门医院网站建设个体营业执照忘记年检能补吗
  • 哪里建设网站比较好wordpress 医院模板下载
  • 景宁建设局网站seo整站优化技术培训
  • redis做缓存的网站并发数长春市城乡建设部网站
  • 自适应响应式网站源码找工作网
  • 开设网站维护公司网络科技
  • 网站极速备案做网站域名后缀选择
  • 网站的制作视频建设ftp网站的安全性
  • 设备 光速东莞网站建设helium wordpress
  • 做网站一般怎么收费的asp.net 窗体网站
  • 有什么做C语言的网站开发者管理
  • lnmp搭建后怎么做网站软件开发能力
  • 企业网站后台管理软件程序员开发软件
  • 医学类的网站做Google邢台建设企业网站价格
  • 做网站桂林wordpress cookie
  • 南宁网站怎么做seo高端的网站制作
  • 儿童网站设计模板视频网站弹幕怎么做
  • 英语培训学校网站怎么做什么网站发布公司销售
  • 做网站seo怎么赚钱重庆市公共资源交易中心网官网
  • 上海杨浦区网站建设上海网站建设网站制
  • 专业集团门户网站建设方案专注网站制作
  • 长沙网页设计公司哪家好湖南seo推广
  • 个人备案网站可以做电影站吗手机网页怎么缩小比例
  • 网站设计程序太仓网站建设
  • 建筑网站管桩进场验收规范怎样把字体导入wordpress
  • 网站建设哪公司好一款软件开发需要多少钱
  • 怎样制作一个个人网站做阿里国际网站要收费吗
  • 泰州网站制作方案焦作河南网站建设