1

これが django の問題なのか、単なる Python の問題なのかはわかりません。複数の値を返す関数から値を受け入れることで、キャッシュを機能させようとしています。

現在、このページは、heavy_view 関数で次のエラーを表示しています:「'NoneType' オブジェクトは反復可能ではありません」

「counter、college_user、name_college_list = cache.get(cache_key)」行を機能させる方法はありますか? そして、空かどうかをチェックします。ありがとう!

 #Views.py

 def filter_results():
     #some code here

     return counter, college_user, name_college_List    


 def heavy_view(request):
     cache_key = 'facebookcache'
     cache_time = 180 # time to live in seconds
     counter, college_user, name_college_list = cache.get(cache_key)
     if not cache.get(cache_key):
         result = filter_results() # some calculations here
         cache.set(cache_key, result, cache_time)
     return result
4

2 に答える 2

0

あなたはこのようなことをすることができます:

result = cache.get(cache_key)
if not result:
    result = filter_result()
    cache.set(cache_key, result, cache_time)

counter, college_user, name_college_list = result
于 2012-08-05T22:38:53.417 に答える
0

それはPythonのことです

あなたがするとき

counter, college_user, name_college_list = cache.get(cache_key)

最初は値がありません ->Noneが返されます。これは機能しますか?

result = cache.get(cache_key)
if result is None:
    result = filter_results()
    cache.set(cache_key, result, cache_time)
else:
    counter, college_user, name_college_list = result
return result
于 2012-08-05T22:36:45.643 に答える