我正在使用 python,我想开发一些简单的 Web 应用程序,其中包含 3 个页面(表单)
登录屏幕
应验证用户名和密码并重定向到第二页如果用户出现,它将重定向到此页面,其中包含记录列表和用于添加另一条记录的
添加按钮
当单击第二页中的
添加记录
时,应重定向到此页面,该页面由一个简单的表单字段组成,该字段在单击时获取数据并作为列表中的记录保存到第二页在提交
按钮上
我不想使用像 django 这样的高级框架来满足上述小要求,因此在谷歌搜索后决定使用以下框架之一
Wheezy.web (https://bitbucket.org/akorn/wheezy.web/downloads)
web.py (http://webpy.org/)
瓶子(http://bottlepy.org/docs/dev/)
flask (http://flask.pocoo.org/)
我开始使用web.py
框架并创建了一个code.py
文件,如下教程所示
代码.py
import web
render = web.template.render('templates/')
urls = ( '/', 'index' )
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
使用python code.py
运行上述文件后,结果为
sh-4.2$ python code.py
http://0.0.0.0:8080/
我已经更改了IP和端口,如下
python code.py 192.168.1.112:2030
并尝试通过浏览器访问,然后收到以下错误
<type 'exceptions.KeyError'> at /
u'index'
Python /usr/lib/python2.7/site-packages/web/application.py in _delegate, line 418
Web GET http://0.0.0.0:8080/
Traceback (innermost first)
/usr/lib/python2.7/site-packages/web/application.py in _delegate
cls = fvars[f] ...
▶ Local vars
/usr/lib/python2.7/site-packages/web/application.py in handle
return self._delegate(fn, self.fvars, args) ...
▶ Local vars
/usr/lib/python2.7/site-packages/web/application.py in process
return self.handle() ...
▶ Local vars
Request information
INPUT No data.
COOKIES No data.
...............
实际上,当我在地址栏中输入网址时,应该会出现一条 hello world 消息,如教程中所示,但我却收到了上述错误。
- 任何人都可以建议如何在不使用 python 中的 django 框架和 cgi 的情况下实现上述在 python 中开发登录屏幕的要求
- 我无法找到如何使用这些框架来进行开发,因为例如提供了
Wheezy.web (https://bitbucket.org/akorn/wheezy.web/downloads)
框架没有文档显示如何创建文件并开始开发
请帮助我解决上述情况
最佳答案
行:
urls = ( '/', 'index' )
告诉 web.py url /
应该由类 index
处理。您还没有创建这样的类,因此您会收到错误。像这样修复它:
import web
urls = (
'/', 'index'
)
class index:
def GET(self):
return "Hello, world!"
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
关于python - 使用python web.py框架出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12784238/