2011-07-10 13 views
-2

これらの変数へのアクセス方法。 これはおそらくかなり簡単ですが、私は今日は考えていません。変数アクセス、取得、および投稿

class Contact(webapp.RequestHandler): 
    def get(self): 

     self.a = random.randint(1,4) 
     self.b = random.randint(0,4) 

     template_values = { 
      'a': self.a, 
      'b': self.b 
     } 

     path = os.path.join(os.path.dirname(__file__), 'contact.html') 
     self.response.out.write(template.render(path, template_values)) 

    def post(self): 
     self.response.out.write(self.a) 
     self.response.out.write(self.b) 

トラックバック:

Traceback (most recent call last): 
    File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 702, in __call__ 
    handler.post(*groups) 
    File "D:\My Dropbox\project\main.py", line 133, in post 
    self.response.out.write(self.a) 
AttributeError: 'Contact' object has no attribute 'a' 
+0

エラーはどこで発生しますか? 'post'では?あなたはここで何をしようとしていますか? –

+0

投稿では、単純な数学のcaptcha –

+1

私たちは完全な痕跡を見るのが好きです。 –

答えて

4

各要求は、新しいハンドラ・インスタンスを作成します。あなたが間にいくつかのデータを取得したい場合は

DEBUG 2011-07-10 13:36:17,009 app.py:19] handler "<__main__.AppHandler object at 0x98dad8c>" created 
<...> 
DEBUG 2011-07-10 13:36:52,563 app.py:19] handler "<__main__.AppHandler object at 0x98de14c>" created 

:その後、あなたのログにあなたがそのようなものを見ることができ、2つの要求を

class AppHandler(webapp.RequestHandler): 
    def __init__(self, *args, **kwargs): 
     logging.debug('handler "%s" created' % self) 
     super(AppHandler, self).__init__(*args, **kwargs) 
    <...> 

をまた作る:たとえば、あなたはあなたのハンドラにこのコンストラクタを追加することができますあなたは何らかのセッション実装の使用を試みることができます。たとえば、これはhttps://github.com/dound/gae-sessionsです。

関連する問題