首页 > 解决方案 > 如何为特定用户生成唯一 url

问题描述

我正在使用烧瓶构建一个 Web 应用程序,并将数据存储在一个名为 Orders 的表中。

我希望买家能够访问一个模板,该模板将显示他们的订单数据,比如跟踪、状态等。我还想给他们一些操作,比如退货的能力。

出于方便和用户体验的目的,我不希望买家注册。我想通过电子邮件向他们发送一个链接,该链接将直接让他们访问他们的订单信息。因此,我将使用令牌为每个订单创建一个动态路由。我也不希望那个标记非常明显,比如订单号或类似的东西,因为这样任何人都可以猜到一个 url 并返回一个不属于他们的订单。所以它必须是唯一的并且是一长串随机字符。我应该怎么做,这是一个好方法还是坏设计?

谢谢!

标签: pythonauthenticationflaskaccess-tokenuser-experience

解决方案


是的,您可以使用烧瓶中的变量规则来做到这一点,您可以在 url 中放置这样的路径:

@app.route('/user/<path:dinamicPath>')
def show_subpath(dinamicPath):
   if dinamicPath == 'order':
      order = Order.get() #get your orderns from db or files
      return render_template('order.html', order=order)
   elif dinamicPath == 'otherStuff':
      ...
      return

“所以我将使用令牌为每个订单创建一个动态路由。我也不希望该令牌非常明显,例如订单号或类似的东西”您可以使用 UUID,它也受可变规则支持,您可以看这个链接在此处输入链接描述


推荐阅读