2017-06-12 18 views
0

我对Python还是有点新鲜,并且已经开始学习使用Twisted框架,以便可以设置异步Web服务器。关于在Session对象中存储有状态信息的细节非常简单,但是在文档中缺少一些让我无法理解的东西。在脚本中的第一行上this教程写着:Python扭曲 - 如何在非rpy脚本中使用cache()

cache() 
...rest of the script goes here 

这是什么,只能在所谓的RPY脚本 - 更多关于here。问题是,我真的不想使用rpy脚本,据说它不是必需的。我引用的页面将rpy脚本描述为主要用于尝试新想法而不是其他许多。

我的问题是,当我尝试运行我的脚本的非RPY版本,我得到这个错误:

NameError: name 'cache' is not defined 

一些额外的研究已经告诉我,高速缓存()是全局的一部分对于每个rpy脚本,所以不需要导入。但是,文档没有描述如何在非rpy文件中使用cache()。所以,我的问题是 - 我如何在非rpy文件中使用cache()?我很确定这只是一个知道哪个模块导入的问题,我不知道。任何帮助将不胜感激。

回答

0

Twisted Web处理rpy脚本的一个显着特点是源代码在每次请求时都会被重新评估。

cache是一个专用于rpy脚本的API,用于告知运行时而不是重新评估源。如果调用cache,则评估源的结果将被保存并用于满足该资源的下一个请求。

由于此功能对于处理rpy脚本是独一无二的,因此在以不同方式定义Twisted Web的资源时,不需要使用cache

0

显然,如果你不使用rpy文件,你根本就不需要使用cache()。我只是从代码中删除该行,它似乎工作正常。任何额外的输入仍然值得赞赏,因为文档缺乏。