0

我可以使用函数从全局字典变量中读取和写入。

dic = { 'someKey' : 'someVal' }
def f():
    dic['newKey'] = 'newVal'
    print dic['someKey']

我想在模块内的 GAE Python 中做同样的事情

class MainPage(webapp.RequestHandler):
    def get(self):
        user = users.get_current_user()
        if not user:
            viewValues = {}
            viewValues['login'] = (users.create_login_url(self.request.path))
            self.response.out.write(template.render('view/login.html', viewValues))
        else:
            self.redirect("/")

    viewValues = {'promotion' : [
                                {'icon': 'time_ico.png',
                                 'heading': 'Instant feedback.',
                                 'detail': 'Quiz your students and get instant results!</br>No need to waste time checking answers manually.'},
                                {'icon': 'money_ico.png',
                                 'heading': 'No equipment necessary!',
                                 'detail': 'No need to spend money on special equipment.</br>Use studyWise&copy; free of charge now.'},
                                {'icon': 'cell_ico.png',
                                 'heading': 'Accessible.',
                                 'detail': 'Can be used with any smartphone or laptop, no installation required.'},
                                {'icon': 'statistics_ico.png',
                                 'heading': 'Statistics.',
                                 'detail': 'Get helpful info about your students understanding of the learning material today.'}
                             ]
              }


Traceback (most recent call last):
  File "D:\Program Files\Google\google_appengine\google\appengine\ext\webapp\_webapp25.py", line 701, in __call__
    handler.get(*groups)
  File "C:\Current Project\StudentVoice_Refactor\src\login.py", line 14, in get
    viewValues['login'] = (users.create_login_url(self.request.path))
NameError: global name 'viewValues' is not defined

为什么会这样?谢谢

4

1 回答 1

0

在 python 中完成的方式是调用 self.varName

在 AS3/Java 中,您可以选择任何一种方式 AFAIK,您可以编写 memberName 或 this.memberName

但是在 python 中你不能,必须使用 self.memberName 而不是 memberName。

好吧,猜猜这解决了它。:)

于 2012-06-02T11:51:39.800 回答