栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

request.args.get('key')给出NULL

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

request.args.get('key')给出NULL

提交注册表单时,你正在使用POST。由于你使用的是POST,因此会将表单值添加到

request.form
,而不是
request.args

你的电子邮件地址将位于:

request.form.get('email')

如果你访问的是

URL /characters?email=someemail@test.com
,并且不是立即使用以下方法呈现模板:

if request.method == 'GET':         return render_template('character.html') 

在角色视图中,只有这样,你才能访问:

request.args.get('email')

查看werkzeug请求/响应文档以获取更多信息。

编辑:这是一个完整的工作示例(减去模型的内容)

app.py

 from flask import request, Flask, render_template, redirect, url_for       app = Flask(__name__)          app.debug = True    @app.route('/signup', methods=['GET','POST'])        def signup():if request.method == 'GET':        return render_template('signup.html') email = request.form['email']  return redirect(url_for('character', email=email))          @app.route('/character', methods=['POST', 'GET'])    def character():        email_from_form = request.form.get('email')          email_from_args = request.args.get('email')          return render_template('character.html',   email_from_form=email_from_form,          email_from_args=email_from_args)     if __name__ == '__main__':         app.run() 

templates / signup.html

<html>   Email from form: {{ email_from_form }} <br>          Email from args: {{ email_from_args }}    </html> 

templates / character.html

<html>   <form name="test" action="/character" method="post">     <label>Email</label><input type="text" name="email" value="test@email.com" />       <input type="submit" />    </form>  </html>

提交登录表单(通过POST)将被填充

Email from form

到达网址http://localhost:5000/character?email=test@email.com(通过GET)将被填充

Email from args



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371295.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号