我的python代码:
import os
import webapp2
import jinja2
from google.appengine.ext import db
template_dir = os.path.join(os.path.dirname(__file__), 'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape=True)
class Handler(webapp2.RequestHandler):
def write(self, *a, **kw):
self.response.out.write(*a, **kw)
def render_str(self, template, **params):
t = jinja_env.get_template(template)
return t.render(params)
def render(self, template, **kw):
self.write(self.render_str(template, **kw))
class MainPage(Handler):
#def render_front(self, title="", art="", error=""):
#self.render("front.html", title=title, art=art, error = error)
def get(self):
self.render("front.html")
def post(self):
title = self.request.get("title")
art = self.request.get("art")
if (title and art):
self.write("Thanks!")
#else :
#self.write("Ooops")
#error="we need both a title and some artwork!"
#self.render("front.html", error=error)
application = webapp2.WSGIApplication([('/',MainPage)],debug=True)
我的HTML代码:
<!DOCTYPE html>
<html>
<head>
<title>/ascii/</title>
</head>
<body>
<h1>/ascii/</h1>
<form method="post">
<label>
<div>title</div>
<input type="text" name="title" value= "{{ title }}">
</label>
<label>
<div>art</div>
<textarea name="art">{{ art }}</textarea>
</label>
<div class="error">{{ error }}</div>
<input type="submit">
</form>
</body>
</html>
我正在关注在线class:
(从表格处理开始)
问题: (1)功能
#def render_front(self, title="", art="", error=""):
#self.render("front.html", title=title, art=art, error = error)
有问题。如果我没有对其进行评论,则该页面将出现500错误。
(2)
if (title and art):
self.write("Thanks!")
#else :
#self.write("Ooops")
如果我不评论其他部分,页面也会有500错误!
请帮忙! 我不知道出了什么问题! 我想,也许是因为我的python中没有Jinja2。但我已经运行了ez_setup.py Jinja2,它说Jinja2已安装!
我还尝试在html文件中将value =“{{title}}”更改为value = {{title}},但仍无效。
谢谢!
答案 0 :(得分:0)
感谢@Greg !!!
我不知道日志中是否有错误消息。 在检查错误消息后,我发现了错误!
关于第一个问题,它是一些空格/标签混合。与此post相同。 使用
发现了问题python -m tabnanny yourfile.py
关于第二个问题,那是因为我使用“:”而不是“:”。这是一个错字。