2

我正在研究 python,我想开发一些简单的 Web 应用程序,它由 3 个页面(表单)组成

  1. login screen这应该验证用户名和密码并重定向到第二页

  2. 如果用户存在,它会重定向到包含记录列表的此页面并add button添加另一条记录

  3. 在第二页中单击时add record,应重定向到该页面,该页面由一个简单的表单字段组成,该表单字段在单击submit按钮时获取数据并作为列表中的记录保存到第二页

我不想使用 django 之类的高级框架来满足上述小要求,所以在谷歌搜索很多之后决定使用以下框架之一

Wheezy.web ( https://bitbucket.org/akorn/wheezy.web/downloads )

web.py ( http://webpy.org/ )

瓶子(http://bottlepy.org/docs/dev/)

烧瓶 (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.
...............

实际上,当我在地址栏中输入 url 时,应该会出现一个 hello world 消息,如教程中所示,但我收到了上述错误。

  1. 任何人都可以建议如何在不使用 django 框架和 python 中的 cgi 的情况下实现上述在 python 中开发登录屏幕的要求
  2. 我无法找到如何使用这些框架进行开发,因为例如Wheezy.web ( https://bitbucket.org/akorn/wheezy.web/downloads)提供的框架没有显示如何创建文件和开始开发的文档

请在上述情况下帮助我

4

1 回答 1

3

该行:

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()
于 2012-10-08T15:20:03.720 回答