【发布时间】:2015-05-14 10:55:52
【问题描述】:
我想将用户重定向到一个确认页面,如果他们输入有效的主题,该页面将显示主题和内容(如果有的话),但如果主题为空白或超过,则留在同一页面并显示错误三百字。
这是我的后端代码:
def post(self):
subject = self.request.get('subject')
content = self.request.get('content')
a, b = self.validSubject(subject)
if a == True and b == True:
self.redirect('/confirm')
else:
if a == False:
error = "Title cannot be blank!"
if b == False:
error = "Title cannot be over 300 characters."
self.render("newpost.html", subject = subject, content = content, error = error)
这里是 newpost.html 模板的代码:
<h2>New Question</h2>
<hr>
<form method="post">
<label>
<div>Title</div>
<input type="text" id="subject" name="subject">
</label>
<label>
<div>
<textarea name="content" id="postcontent"></textarea>
</div>
</label>
<b><div class="error">{{error}}</div></b>
<input type="submit">
</form>
我尝试将action="/confirm" 添加到 POST 表单,但即使出现错误也会重定向到 /confirm。我查看了 webapp2 文档,但找不到任何关于如何在重定向上传递变量的信息。 (https://webapp-improved.appspot.com/api/webapp2.html#webapp2.redirect)
我正在使用 webapp2 和 jinja2。感谢您提前提供的任何帮助,我已经查看这段代码很长一段时间了:(
【问题讨论】:
标签: python-2.7 google-app-engine jinja2 webapp2