【发布时间】:2012-06-10 00:58:39
【问题描述】:
使用 Webpy。我的 app.py 中有以下代码:
app = web.application(urls, globals())
session = web.session.Session(app, web.session.DiskStore('sessions'), initializer={'count': 0, 'username': 'CRC'})
render = web.template.render('templates/', base="base", globals={'context': session, 'username': 'CRC'})
class Index(object):
def GET(self):
if not session:
session.count = 0
else:
session.count = 1
return render.hello_form()
def POST(self):
form = web.input(name="Nobody", greet="Hello")
greeting = "%s, %s" % (form.greet, form.name)
return render.index(greeting = greeting)
然后在我的 index html 文件中添加以下内容:
$def with (greeting)
<p>
Hi <b>$context.username</b>
</p>
$if greeting:
I just wanted to say <em style="color: green; font-size: 2em;">$greeting</em>.
$else:
I just wanted to say <em style="color: green; font-size: 2em;">Default</em>.
<p>
<a href="/hello">Link Back To Form</a>
我在提交表单后看到了这个: 在/你好 'ThreadedDict' 对象没有属性 'username'
getattr 中的 Python /Library/Python/2.7/site-packages/web/session.py,第 64 行 Web POST /你好
对我为什么看到这个有什么想法吗?它显然不喜欢我对用户名所做的事情,但我不清楚为什么。
【问题讨论】: