对不起。我不会说英语。
我想创建一个包含一个表单的页面。在这种形式我有一个输入框,用户可以输入用户名,我检查用户是否存在。如果用户不存在,则显示错误,否则转到另一页。
问题1.这是否正确?
index.html
{% if data_page['validator_name'] %}
<div class="form-group has-error">
<input type="text" name="name" />
<label>{{ data_page['validator_name'] }}</label>
{% else %}
<div class="form-group">
<input type="text" name="name"/>
{% end %}
</div>
demo.py
class MainHandler(BaseHandler):
def get(self):
self.render("index.html",data_page={'validator_name':False})
def post(self):
user_name = self.get_argument("name")
if self.validate_user_name(user_name):
self.redirect("/chat")
else:
self.render("index.html",data_page={'validator_name':"Name already use",'post_name':user_name})
问题2.回去。
如果用户是唯一的,则页面重定向到&#34; / chat&#34;。如果用户点击浏览器&#34;返回&#34;按钮,表格将显示我们通过。将介绍我们停止的用户。如果有错误信息,那就是。如何做到这一点会提前返回,表格是原始的?
答案 0 :(得分:3)
如果您检查用户名并且它是正确的,您应该为此用户设置secure_cookie或session。
在每个请求中,您应检查会话(或cookie)值以确定用户是否登录。通过这种方式,如果用户单击后退按钮,您将检查用户的状态并决定重定向或再次显示登录表单。
(换句话说,你可以使用会话系统中的flash消息和通知系统。这些消息设置,并显示一次。换句话说,你可以为不正确的用户名消息设置flash消息。这将在拨打flash消息时出现一次。)
检查这些页面:
standard way to handle user session in tornado