Web.Py中的Python错误来自新手

Ran*_*ndy 1 python web.py python-2.7

我是Python和web.py的新手,所以请原谅我的无知.我有一个正在运行的网页脚本,然后随机停止工作.我已经在这几天了,似乎无法解决这个问题.

我一直收到以下错误:

127.0.0.1:49664 - - [05/Jul/2012 23:58:42]"HTTP/1.1 GET /" - 500内部服务器错误127.0.0.1:49664 - - [05/Jul/2012 23:58:43] "HTTP/1.1 GET /favicon.ico" - 404找不到回溯(最近一次调用最后一次):文件"C:\ Python27\lib\site-packages\web\application.py",第239行,进程中返回> self .handle()文件"C:\ Python27\lib\site-packages\web\application.py",第230行,句柄返回> self._delegate(fn,self.fvars,args)文件"C:\ Python27\lib\site-packages\web\application.py",第419行,在_delegate cls => fvars [f] KeyError:u'index'

这是我的Python脚本:

import web
from web import form
db = web.database(dbn='mysql', user='dbuser', pw='dbuser', db='database')
render = web.template.render('templates/')
urls = (
    '/', 'index',
    '/update/(\d+)', 'update'
)
app = web.application(urls, globals())
myform = form.Form(
    form.Radio('sentiment',[('1','Positive'),('3','Neutral'),('2','Negative'),('4','SPAM')],description='Sentiment',))

def insert_sentiment(id, sentimentvar):
    db.update('tweets', sentiment=sentimentvar, where="tweet_id=$id", vars=locals())

class update:
    def GET(self):
        tweets_index = db.select('tweets', where='sentiment is null', order='RAND()', limit=1)
        form = myform()
        return render.index(form, tweets_index)
        raise web.seeother('/')

    def POST(self, id):
        form = web.input()
        insert_sentiment(id, form.sentiment)
        raise web.seeother('/')

if __name__=="__main__":
    web.internalerror = web.debugerror
    app.run()
Run Code Online (Sandbox Code Playgroud)

模板存储在"templates"文件夹中,如下所示:

$def with (form,tweets_index)
$for tweets in tweets_index:
        $tweets.tweet
        $tweets.normalized_tweet
<form action="/update/$tweets.tweet_id" method="post">
    $:form.render()
    <input type="submit" value="update"/>
</form>
Run Code Online (Sandbox Code Playgroud)

如果我将索引页面的名称更改为其他内容,那么这就是错误中显示的内容.请帮忙!

Ott*_*ger 5

你没有class index一个 GET方法

  • 你不需要 - "web.py"非常不透明,并且使用了许多可疑的魔法. (2认同)