我可以使用函数从全局字典变量中读写。
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© 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 FilesGooglegoogle_appenginegoogleappengineextwebapp_webapp25.py", line 701, in __call__
handler.get(*groups)
File "C:Current ProjectStudentVoice_Refactorsrclogin.py", line 14, in get
viewValues['login'] = (users.create_login_url(self.request.path))
NameError: global name 'viewValues' is not defined
为什么会这样?谢谢
在python中完成它的方式是调用self.varName
在AS3/Java中,你可以选择AFAIK,你可以写memberName或this.memberName
但是在python中你不能,必须使用self.memberName而不是memberName。
好吧,猜猜这就解决了。:)