Pythonを使用してGoogle AppエンジンでHTMLに値を表示するにはどうすればよいですか?
値を取得し、変数に格納しました。
次のことを試しましたが、エラーが発生しました。 for ループを使用して取得したレコードを表示したいのですが、わかりません。
コード:
import cgi
import webapp2
from google.appengine.ext import db
form="""<!DOCTYPE html>
<html>
<head>
<title>ascii</title>
</head>
<body>
<h1>/ascii</h1>
<form method="post">
<label>
<div>Title</div>
<input type="text" name="text" value="%(text)s">
</label>
<br>
<label>
Art
<br><textarea cols="50" rows="12" name="art" value="%(art)s"></textarea>
</label><br>
<input type="submit">
<div style="color:blue">%(error)s</div>
</form>
<hr>
<hr>
***{%for art in arts %}
<div>
<div>{% art.title %}</div>
<pre>{%art.art%}</pre>
</div>***
</body>
</html>"""
class Art(db.Model):
title = db.StringProperty(required=True)
art=db.TextProperty(required=True)
created=db.DateTimeProperty(auto_now_add=True)
class MainHandler(webapp2.RequestHandler):
def write_form(self,error="",text="",art="",arts=""):
***arts=db.GqlQuery("select * from Art order by created DESC")***
self.response.out.write(form %{"error":error,
"text":text,
"art":art)}
def escape_html(self,s):
return cgi.escape(s,quote=True)
def get(self):
self.write_form()
def post(self):
text1=self.escape_html(self.request.get("text"))
art1=self.escape_html(self.request.get("art"))
if text1 and art1:
a=Art(title=text1,art=art1)
a.put()
self.redirect("/")
else:
self.write_form("Both fields required",text1,art1)
app = webapp2.WSGIApplication([('/', MainHandler)],
debug=True)