タイトルはあまり役に立ちませんが、私は本当にそれを書くべきか分かりません。私のコードでは、名前とスコアを入力するための入力があるページを表示し、次にそれをhigh.pyボードのように最高から最低のリストにするためにlibrary.pyページのいくつかの関数を実行します。そして、底に平均得点が必要です。しかし、私はこれで本当に苦労しています。まず第一に私は情報を入力するときにそれもそれを登録しません。私はフォームタグでGETメソッドを使用しましたが、情報はどこにもありません。少なくとも、URLバーに入るはずです。しかし、そうではありません。そして、私は図書館のページで何をすべきかも知らない。それはちょうど大きな混乱です。あなたが私を助けることができれば、ありがとう。Python - 入力された情報と平均を表示
main.py
import webapp2
#from library import GameInfo
from page import FormsPage, ResultsPage
class MainHandler(webapp2.RequestHandler):
def get(self):
f = FormsPage()
r = ResultsPage()
if self.request.GET:
user = self.request.GET['name']
score = self.request.GET['score']
self.response.write(r.rbegin + r.rbody)
else:
self.response.write(f.fbegin + f.fbody + f.fformbox + f.fforms)
app = webapp2.WSGIApplication([
('/', MainHandler)
], debug=True)
library.py
class ScoresList():
def __init__(self):
self.name = ''
self.__score = 0
#keeps memory of all the scores intered
def list_scores(self, s):
self.__score_array.append(s)
def make_list(self):
output = ''
for score in self.__score_array:
output += name + score
return output
class Average():
pass
page.py
class FormsPage(object):
fbegin = '''<!DOCTYPE HTML>
<html>
<head>
<title>Post Your High Scores</title>
<link href="/css/style.css" rel="stylesheet" type="text/css"/>
</head>'''
fbody = '''<body>
<h1>Submit Your High Scores</h1>'''
fformbox = '''<div> '''
fforms = '''<form method="GET">
<label>Name: </label><input type="text" name"name"/>
<label>Score: </label><input type="text" name"score"/></br>
<label>Name: </label><input type="text" name"name"/>
<label>Score: </label><input type="text" name"score"/></br>
<label>Name: </label><input type="text" name"name"/>
<label>Score: </label><input type="text" name"score"/></br>
<label>Name: </label><input type="text" name"name"/>
<label>Score: </label><input type="text" name"score"/></br>
<label>Name: </label><input type="text" name"name"/>
<label>Score: </label><input type="text" name"score"/></br>
<input type="submit" value="Enter Scores" />
</form>
</body>
</html>'''
class ResultsPage(object):
rbegin = '''<!DOCTYPE HTML>
<html>
<head>
<title>Here are Your High Scores</title>
<link css/style.css/>
</head>'''
rbody = '''<body>
<div class="scoreboard">
<h1>High Scores</h1>
</div>
</body>
</html>'''
など
name="name1"
を試してみてください。私はそのメソッドを 'POST'に変更するので、少なくともハンドラのフォームをテストすることができます。 – GAEfanPythonクラスオブジェクトの内部にHTMLコードを入れないでください。まず第一に、これらのクラスは状態を保持しないため無意味です。あなたは単純な変数を使うことができます。しかし、とにかくPythonファイルの中にHTMLを置くべきではありません。あなたはJinjaテンプレートを使うべきです。 –