问题标签 [decorator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
797 浏览

django - django 模板能否知道调用它的视图是否具有 @login_required 装饰器?

假设我有一个系统,其中有一些页面是公开的(未经身份验证的用户和登录用户都可以查看)和其他只有登录用户才能查看的页面。

我希望模板为这两类页面中的每一个显示略有不同的内容。@login_required 视图装饰器始终用于只有登录用户才能查看的视图。但是,我的模板需要知道这个装饰器是否用于调用模板的视图。

请记住,我不关心用户是否登录公共页面。我关心的是一个页面是否可以被公众查看,而没有@login_required 装饰器会告诉我这一点。

任何人都可以提示我模板如何知道是否在调用模板的视图上使用了特定的装饰器?

0 投票
1 回答
6934 浏览

python - python装饰器和方法

新来的。我也是(非常)python 的新手,并试图理解以下行为。有人可以向我解释为什么这个例子中的两种方法有不同的输出吗?

这是我系统上的输出:

那么为什么装饰调用永远不会下降到孙节点呢?我显然错过了一些关于语法的东西......

0 投票
3 回答
4844 浏览

zend-framework - 如何在一个 Zend_Form 中连续放置 2 个按钮

我认为在您的 Web 应用程序中拥有下面有“编辑删除”按钮的表单是一个常见的要求。但是采埃孚将一个按钮放在另一个按钮下,这是违反直觉的。我猜 ViewScript 装饰器可以帮助我完全覆盖按钮 html。

但是如何跨其他形式做到这一点,以避免重复?可能是我过于复杂了,我应该以某种方式粘贴 html 代码而不是按钮元素对象?

0 投票
2 回答
1305 浏览

python - 装饰师和课堂

有没有办法在嵌套良好的类结构中编写装饰器?例如,这在没有类的情况下可以正常工作:

输出是:

这就是我想要的。但是现在假设我想将mergedandindividually_wrapped作为静态或类方法。只要将装饰器保持在类命名空间之外,这也将起作用。有没有什么好方法可以将装饰器放在命名空间中?我宁愿不列举所有行不通的方法,但主要问题是如果merger是方法,它就无法访问这些wrapX方法。也许这是一件愚蠢的事情,但是有没有人让这样的事情起作用,所有的装饰器和装饰方法都在同一个类中?

0 投票
2 回答
4296 浏览

c# - 最佳外部 REST API 访问模式?

我参与了几个与 Facebook 和 Netflix 等外部服务连接的项目。目前,我用来访问这些 API 的大多数库(包括我自己编写的库)都有单一方法,因此调用特定的 API 函数但似乎总是调用某种基本方法来发出请求。像这样的东西:

所以我的问题是在这里使用更好的模式或 OO 主体,所以在每个单一的 API 调用方法中,我不是每次都显式调用基本方法?

我正在寻找某种调用拦截模式,例如 ASP.NET MVC 框架和 ActionResults 吗?

编辑 1:我不希望使用任何其他服务或库(如 Wcf)的功能。对于这些项目,我只使用了这些 API 功能的 1-5%,并且更喜欢为这些东西滚动我自己的代码。

0 投票
17 回答
595370 浏览

python - 如何制作函数装饰器并将它们链接在一起?

如何在 Python 中制作两个可以执行以下操作的装饰器?

...应该返回:

我并不想HTML在真实的应用程序中采用这种方式——只是想了解装饰器和装饰器链接是如何工作的。

0 投票
10 回答
30539 浏览

oop - 为什么我会在装饰器上使用责任链?

我只是在阅读责任链模式,我无法想象一个我更喜欢使用它而不是使用decorator的场景。

你怎么看?CoR 有利基用途吗?

0 投票
2 回答
583 浏览

python - 从装饰器访问拥有装饰方法的类

我正在为必须检查父方法(我正在装饰的类的父级中的同名方法)的方法编写装饰器。

示例(来自PEP 318的第四个示例):

所以我正在寻找代码来代替# 这里我想要...

谢谢。

0 投票
19 回答
144010 浏览

python - 是否有一个装饰器可以简单地缓存函数返回值?

考虑以下:

我是新手,但我认为缓存可以分解为装饰器。只是我没有找到喜欢的;)

PS真正的计算不依赖于可变值

0 投票
4 回答
4359 浏览

c# - 使用组合而不是继承的装饰器模式

我之前对装饰器模式的理解是,你继承Windowwith ,然后在被覆盖的方法中,在调用' 实现上述方法WindowDecorator之前做一些额外的工作。Window类似于以下内容:

然而,这本质上是对装饰进行硬编码,那么如何将其重构为使用组合而不是继承呢?