私はPythonとweb.pyの初心者なので、無知です。動作していたWebページのスクリプトがあり、その後ランダムに動作を停止しました。私は数日間そこにいて、問題を理解できないようです。
次のエラーが発生し続けます。
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 Not Foundトレースバック(最後の最後の呼び出し):ファイル "C:\ Python27 \ lib \ site-packages \ web \ application.py"、行239、処理中return> self .handle()ファイル "C:\ Python27 \ lib \ site-packages \ web \ application.py"、行230、ハンドルreturn> 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()
テンプレートは「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>
インデックスページの名前を別の名前に変更すると、それがエラーに表示されます。助けてください!