草庐IT

python - 如何在 Flask 中实现需要登录的装饰器

我有2个协同工作的Flask应用程序(不同的项目)。一个实现了一些使用token进行身份验证的API。第二个使用API并为其创建一个Web界面。现在我有一个登录功能,可以将用户名和密码发送到API,如果正确,则获取身份验证token作为返回。获得token后,我将其保存到用户的session中,现在应将用户视为已登录/已验证。我该如何为这种情况实现login_required装饰器。这是我的登录功能-deflogin(self):response=make_request(BASE_URL+'login/',clean_data(self.data))ifresponse.status

Python 2.6.4 属性装饰器不工作

我见过很多例子online和inthisforum如何使用特殊的getter和setter在Python中创建属性。但是,我无法执行特殊的getter和setter方法,也无法使用@property装饰器将属性转换为readonly。我使用的是Python2.6.4,这是我的代码。采用了不同的方法来使用属性,但都不起作用。classPathInfo:def__init__(self,path):self.setpath(path)defgetpath(self):returnself.__pathdefsetpath(self,path):ifnotpath:raiseTypeErro

Python 属性装饰器不起作用,为什么?

出于某种原因,“obj._max_value”和“obj._current_value”没有设置。我看过很多教程,看来我做得对。有谁知道为什么它不起作用?查看代码:https://gist.github.com/matthew-campbell/5561562(python2.7)更新:classProgress():@propertydefprogress_bar_length(self):returnself._progess_bar_length@progress_bar_length.setterdefprogress_bar_length(self,length):self.

python - 使用 Python 将装饰器应用于类定义

相对于作用于函数的装饰器,作用于类的装饰器并不容易理解。@fooclassBar(object):def__init__(self,x):self.x=xdefspam(self):statements类装饰器的用例是什么?如何使用? 最佳答案 它以更简单的方式取代了自定义元类的绝大多数经典好用。这样想:直接在类主体中的任何东西都不能引用类对象,因为类对象在主体完成运行之后才存在(创建类对象是元类的工作——对于没有自定义元类的所有类,通常是type。但是,类装饰器中的代码在类对象创建之后运行(实际上,以类对象作为参数!)因此可以很好

python - 具有多个常用选项的命令使用自定义装饰器进入一个参数

我想制作一个模块,使构建共享大量选项的点击命令变得非常简单。这些选项将被提炼成一个传递给命令的对象。作为说明性示例:frommagicimportmagic_commandimportclick@magic_command('Colored')@click.option('--color')defcmd(magic,color):pass整个命令将包含许多--magic-...选项,这些选项进入传递给cmd的magic对象。我能够使用以下方法实现这一目标:defmagic_command(name):defdecorator(func):@click.option('--magic-f

python - Django 在模型方法上通过装饰器发送信号?

我正在尝试做类似theseproposedsignaldecorators的事情.除了具有将装饰方法连接到信号的装饰器(将信号的发送者作为装饰器的参数)之外,我还想在类方法上使用装饰器。我想像这样使用装饰器:classModelA(Model):@connect.post_save(ModelB)@classmethoddefobserve_model_b_saved(cls,sender,instance,created,**kwargs):#dosomestuffpass装饰器是:fromdjango.db.modelsimportsignalsdefpost_save(sende

python - 在@property 之后装饰类方法

我想使用装饰器包装除__init__之外的各种对象的每个方法。classMyObject(object):defmethod(self):print"methodcalledon%s"%str(self)@propertydefresult(self):return"Somederivedproperty"defmy_decorator(func):def_wrapped(*args,**kwargs):print"Callingdecoratedfunction%s"%funcreturnfunc(*args,**kwargs)return_wrappedclassWrappedOb

python - 创建一个 Flask 公共(public) url 装饰器

我想为Flask创建一个装饰器routes将某些路由标记为公共(public)路由,这样我就可以做这样的事情:@public@app.route('/welcome')defwelcome():returnrender_template('/welcome.html')在其他地方,这是我认为装饰器和检查的样子:_public_urls=set()defpublic(route_function):#addroute_function'surlto_public_urls#_public_urls.add(route_function...?.url_rule)defdecorator(

python - 使用装饰器更新包装器时遇到错误

在尝试使用装饰器更新函数的包装器时,我遇到了一个相当神秘的(至少对我而言)错误消息。有什么办法可以解决这个问题吗?我已尝试使我的代码尽可能通用,以便它也适用于其他情况。defdecorator(d):"""Makefunctiondadecorator:dwrapsafunctionfn."""def_d(fn):returnfunctools.update_wrapper(d(fn),fn)functools.update_wrapper(_d,d)return_d@decoratordeff(fn):"""Convertsthestringfntoafunctionandretur

python - 在 Django 的基于类的通用 View 中使用 ETag/Last-Modified 装饰器

我最近将我的一个Django项目中的所有View都迁移到了新的基于类的项目中。对于经典的基于函数的DjangoView,有一个方便的装饰器django.views.decorators.http.condition如果存在与您指定的条件匹配的缓存副本,可用于绕过整个View处理.我在文档和源代码中到处搜索,但找不到新的基于类的View的任何实现。所以我的问题是:您建议我如何为基于类的View实现条件View处理? 最佳答案 看起来这个问题还没有很好的答案。对于只设置函数属性的装饰器(例如csrf_exempt),将它们应用到View