2013-06-23 30 views
1

我无法弄清楚如何在Bottle框架中制作raw_input()。瓶中的原始输入模拟

for idx, d in enumerate(student): 
     for ids, s in enumerate(student): 
      if d['Name'] == s['Name'] and idx != ids: 
       print d,idx 
       l=raw_input('input number to delete') 
       student.pop(int(l)) 
    for m in student: 
    for k in olympiad: 
     if m['Name']==k['Name']: 
       this.append(k) 

如果我返回一个模板而不是raw_input(),我会失去所有其他操作。我不想在控制台中写这个动作。

+0

我有点困惑。 Bottle是一个HTTP框架,raw_input用于从STDIN读取。你将如何通过HTTP发送到STDIN? – sberry

+0

那么在web框架中,我们使用文本框来获取来自用户的输入而不是'raw_input'。 –

+0

@sberry我可以使用POST发送它。我不太明白如何做到这一点。 – AlexEfremo

回答

1

Bottle是一个web框架,因此它的所有输入和输出都是通过web服务器发生的。这意味着如果Web服务器甚至有标准输入,它肯定不会连接到任何Web浏览器,因此raw_input在Bottle WSGI环境中是没有用的。

在WSGI下获取用户输入的最常见方法是通过POST浏览器请求。为此,您应该了解Bottle forms

+0

所以你说我应该以某种方式将用户重定向到另一个模板并从该模板发布变量? – AlexEfremo