2017-06-12 6 views
0

私はまだPythonには新しく、Twistedフレームワークを使用して非同期Webサーバーを設定することを学び始めました。 Sessionオブジェクトにステートフルな情報を格納する方法の詳細はかなりわかりやすいですが、ドキュメントには不足しているものがあります。 thisチュートリアルのスクリプトの最初の行を読み取ります - そのhere詳細Python Twisted - 非rpyスクリプトでcache()を使用する方法

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

これはのみRPYスクリプトと呼ばれるもので働きものです。問題は、私は本当に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()を使用する必要はありません。コードからその行を削除するだけで、正常に動作しているようです。ドキュメンテーションが不足しているため、これに対する追加の入力は依然として高く評価されます。

関連する問題