我仍然对Python有点新手,并且已经开始学习使用Twisted框架,以便我可以设置异步Web服务器。有关在Session对象中存储有状态信息的详细信息非常简单,但是文档中缺少一些让我失望的东西。 this教程脚本中的第一行是:
cache()
...rest of the script goes here
这只适用于所谓的rpy脚本 - 更多关于here的内容。问题是,我真的不想使用rpy脚本,据称这不是必需的。我引用的页面描述了rpy脚本主要用于尝试新想法而不是很多。
我的问题是,当我尝试运行我的脚本的非rpy版本时,我收到此错误:
NameError: name 'cache' is not defined
一些额外的研究告诉我,cache()是每个rpy脚本的全局变量的一部分,因此不需要导入。但是,文档没有描述如何在非rpy文件中使用cache()。所以,有我的问题 - 如何在非rpy文件中使用cache()?我很确定这只是知道要导入哪个模块的问题,我不知道。任何帮助将不胜感激。
答案 0 :(得分:0)
显然,如果您没有使用rpy文件,则根本不需要使用cache()。我只是从代码中删除了该行,它似乎工作正常。关于此的任何其他输入仍然受到赞赏,因为缺少文档。
答案 1 :(得分:0)
Twisted Web处理rpy脚本的一个显着特点是每次请求都会重新评估源代码。
cache
是一个专门用于rpy脚本的API,用于告诉运行时而不是再次重新评估源。如果调用cache
,则会保存评估源的结果并用于满足该资源的下一个请求。
由于此功能对于rpy脚本的处理是唯一的,因此在以不同方式为Twisted Web定义资源时使用cache
没有必要或有价值。