在 Flask 中,设置 cookie,然后重定向用户

2024-02-11

看起来在 Flask 中,cookie 是通过直接修改响应对象来设置的。

如何返回响应对象,同时在成功登录后将用户重定向到不同的页面?我想专门重定向用户而不是呈现不同的页面,以防用户点击刷新。

这是我当前的代码,它仅显示同一页面,login.html:

@app.route('/login', methods=['POST', 'GET'])
def login():
  errors = []

  if request.method == 'POST':

    email = request.form['email']
    password = request.form['password']

    #Check the user's e-mail
    try:
      u = User(email)
    except UserError, e:
      errors.append(e)
    else:

      #Check the user's password
      if not u.authenticatePassword(password):
        errors.append(('password','Invalid password'))
        return render_template('login.html',error=errors)

    #Set the session
    s = Session()
    s.user_id = u.user_id
    s.ip = request.remote_addr

    #Try to set the cookie
    if s.setSession():
      response = make_response( render_template('login.html',error=errors))
      response.set_cookie('session_id', s.session_id)
      return response

  return render_template('login.html',error=errors)

您应该将代码更改为:

from flask import make_response
if s.setSession():
    response = make_response(redirect('/home'))
    response.set_cookie('session_id', s.session_id)
    return response
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Flask 中,设置 cookie,然后重定向用户 的相关文章

随机推荐

  • 如何查看 select2 实例的设置选项?

    我想要将选项设置为 select2 实例 特别是如果allowClear 选项设置为 true 或 false 浏览对象我发现了allowClear选项 jQuery gt select2 gt 选项 gt 选项 but I don t k
  • 为什么我无法为对话框视图中的按钮设置 onClickListener?

    我有一个自定义对话框 如下所述 我的自定义对话框布局 my dialog xml 其中只包含一个 关闭 按钮
  • CSS动画闪烁,尝试了我能找到的所有技巧

    我正在 Codepen 中制作一个简单的动画 诗淡入 然后单词 也是按钮 淡入 用户单击单词 它会更改为诗的下一部分 我的问题是 在淡出开始之前 诗歌和单个单词会闪烁 我已经尝试了所有我能找到的技巧 并添加 webkit backface
  • Heroku pg:psql 停止运行

    当我跑步时heroku pg psql i get gt Connecting to postgresql cylindrical 38664 并熄火 一切看起来都很顺利 但它只是卡住了 什么也没做 我似乎在 gitbash 中遇到了同样的
  • 在 perl 中读取和写入文件

    this is just an example 假设上面是out txt 我想读书out txt并写入同一个文件
  • 在 Android 中从纬度/经度获取企业名称或地标

    好吧 我已经为此搜索了相当长的时间 我有一个距我新发现的位置的纬度 经度 geocoder 的 getFromLocation 从纬度 经度返回一定数量的地址 这一切都很好 然后我将它放入一个适配器中 该适配器填充了一个旋转器 也运行得很好
  • UIButton 在单元格被触摸时也会突出显示

    I ve a UIButton在我弹出的表格单元格上 touchUpInside a UIAlertView并询问用户是否要删除与该单元格关联的文件 否则 触摸单元格本身会突出显示该单元格 然后移动到下一个级别以显示内容 问题是当细胞sel
  • 如何在一定时间后重试功能请求

    如果用户数据为空 如何让它重试发送尝试 最多重试 2 次 10 秒后重试 1 次 public class UserHandler private List users new ArrayList public void addUser u
  • 绕过 requiredfieldvalidator

    我有一个网络表单 上面有验证器 当用户按下提交按钮时 验证器可以很好地工作 但是 当用户按下注销按钮时 验证器会停止该按钮的工作 关于如何解决这个问题有什么建议吗 您需要使用CausesValidation按钮上的属性
  • nf_conntrack_helper注册未注册端口返回错误

    我有以下代码从内核 3 18 取消注册和注册 sip conntrack static void nf conntrack sip fini void int i j for i 0 i lt ports c i for j 0 j lt
  • 在没有 gitosis/gitolite 的情况下通过 SSH 运行“安全”git 服务器?

    是否可以通过 ssh 运行 git 服务器 使用authorized keys and command 限制仅访问 git 存储库 而不使用 gitosis gitolite 是的 分配git shell http www kernel o
  • 获取 Youtube 数据 API 的 403 禁止错误

    我在对 YouTube 数据 API 进行 API 调用时收到 403 禁止错误 我尝试生成不同类型的密钥 Web 浏览器 服务器等 钥匙不受限制 我尝试从服务器和 Chrome 的邮递员拨打电话 请求 URL 和响应如下 https ww
  • 访问 AVRO GenericRecord (Java/Scala) 中的嵌套字段

    我有一个带有嵌套字段的 GenericRecord 当我使用genericRecord get 1 它返回一个包含嵌套 AVRO 数据的对象 我希望能够像这样访问该对象genericRecord get 1 get 0 但我不能 因为 AV
  • 在 woocommerce 中隐藏折扣信息而不取消优惠券

    我在 Woocommerce 购物车中使用优惠券进行计算 它会自动为总额添加折扣 以便可以将正确的金额发送到支付网关 我想向访客隐藏有关此优惠券 折扣的所有信息 Problem 我发现的唯一方法 见下文 隐藏优惠券字段 行 总计 和消息 但
  • COBOL:GDG 文件描述符 (FD) 可以引用多代吗?

    我有一个程序可以读取 GDG 文件并将数据移动到工作存储 我很想知道是否可以使用对文件定义的引用对多代 GDG 重复此过程 也许有一种方法可以在文件定义上使用下标 我的想法是必须有一种方法将不同的文件定义移动到引用变量中以访问文件 基于建议
  • 如何检测设备是否支持鼠标?

    我目前使用以下测试 取自 Modernizr 来检测触摸支持 function is touch device var bool if ontouchstart in window window DocumentTouch document
  • 我的树形图的 Arangodb 自定义过滤器/访问者

    我有一个带有两个边定义的图 如下所示 isDepartment organisation gt organisation hasAccess user gt organisation 组织嵌套在树中 无循环 有多个顶级组织 没有任何传入is
  • 使用 shell 脚本从 sql 脚本中选择列到局部变量中

    如何将从表中检索到的列值存储到 shell 脚本中的变量中 我有以下代码 usr bin ksh echo This script will try to connect to sql plus and displays the date
  • 为什么在释放指针后取消引用它时会得到不同的结果?

    我有一个关于 C 内存管理的问题 以及 Debian GNU Linux 下的 GCC 4 3 3 根据 K R 的 C 编程语言书籍 第 7 8 5 章 当我释放指针然后取消引用它时 会出现错误 但我有一些疑问 因为我注意到有时 正如我在
  • 在 Flask 中,设置 cookie,然后重定向用户

    看起来在 Flask 中 cookie 是通过直接修改响应对象来设置的 如何返回响应对象 同时在成功登录后将用户重定向到不同的页面 我想专门重定向用户而不是呈现不同的页面 以防用户点击刷新 这是我当前的代码 它仅显示同一页面 login h