程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Google App Engine中的redirect()函数中的页面之间传递数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在Google App ENGIne中的redirect()函数中的页面之间传递数据?

开发过程中遇到在Google App ENGIne中的redirect()函数中的页面之间传递数据的问题如何解决?下面主要结合日常开发的经验,给出你关于在Google App ENGIne中的redirect()函数中的页面之间传递数据的解决方法建议,希望对你解决在Google App ENGIne中的redirect()函数中的页面之间传递数据有所启发或帮助;

您可以使用webapp2会话以更加灵活和安全的方式跨多个请求共享数据,而无需将其编码为URL。

解决方法

我正在尝试使用GAE构建一个简单的博客,并编写了以下代码(删除了与该问题无关的部分):

@H_801_10@# LOADING THE TEMPLATE intO THE JINJA ENVIRONMENT template_dir = os.path.join(os.path.dirname(__file__),'templates') jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir),autoescape = TruE) # HelPER FUNCTION def render_str(template,**params): t = jinja_env.get_template(templatE) return t.render(params) # GOOGLE DATASTORE DATABASE class Entries(db.Model): title = db.StringProperty(required = TruE) body = db.TextProperty(required = TruE) created = db.datetiR_206_11845@eProperty(auto_now_add = TruE) # HANDLER FUNCTIONS class SignUp(webapp2.requestHandler): def get(self): self.response.write(render_str('signup.html')) def post(self): have_error = false username = self.request.get('username') password = self.request.get('password') verify = self.request.get('verify') email = self.request.get('email') params = Dict(username = username,email = email) if not valid_username(userName): params['error_username'] = "That's not a valid username." have_error = True if not valid_password(password): params['error_password'] = "That wasn't a valid password." have_error = True elif password != verify: params['error_verify'] = "Your passwords didn't match." have_error = True if not valid_email(email): params['error_email'] = "That's not a valid email." have_error = True pwhash = make_secure_val(password) self.response.headers.add_header('Set-Cookie','uid: %s' % str(pwhash)) if have_error: self.response.write(render_str('signup.html',**params)) else: self.redirect('/welcome') class Welcome(webapp2.requestHandler): def get(self): self.response.write(render_str('welcome.html')) # APP HANDLERS app = webapp2.WSGIApplication([('/',MainPagE),('/newpost',NewPost),('/newpost/(\d+)',Permalink),('/signup',SignUp),('/welcome',WelcomE) ],debug=TruE)

signup.html是只是简单的形式采取的usernamepasswordpassword再次验证和可选email

@H_247_11@make_secure_val()只是一个散列函数,它HMAC以格式返回参数字符串的散列版本argument|HMAC(argument)

因此,这是我的问题:用户注册后,我希望重定向到另一个URL
/welcome,从而使我可以使用该redirect()功能。但是我也想username在欢迎页面上打印输入到表单中的用户。我知道如何在中传递变量的唯一方法redirect()是通过传递到URL
GET。但是我不希望URL显示用户名。我想将其作为模板变量传递给in
render_str()。但是,如果我使用render_str()POST方法SignUp,URL仍将是/signup

如何将数据传递给redirect()

大佬总结

以上是大佬教程为你收集整理的在Google App Engine中的redirect()函数中的页面之间传递数据全部内容,希望文章能够帮你解决在Google App Engine中的redirect()函数中的页面之间传递数据所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。