python - 如何为特定用户生成唯一 url
问题描述
我正在使用烧瓶构建一个 Web 应用程序,并将数据存储在一个名为 Orders 的表中。
我希望买家能够访问一个模板,该模板将显示他们的订单数据,比如跟踪、状态等。我还想给他们一些操作,比如退货的能力。
出于方便和用户体验的目的,我不希望买家注册。我想通过电子邮件向他们发送一个链接,该链接将直接让他们访问他们的订单信息。因此,我将使用令牌为每个订单创建一个动态路由。我也不希望那个标记非常明显,比如订单号或类似的东西,因为这样任何人都可以猜到一个 url 并返回一个不属于他们的订单。所以它必须是唯一的并且是一长串随机字符。我应该怎么做,这是一个好方法还是坏设计?
谢谢!
解决方案
是的,您可以使用烧瓶中的变量规则来做到这一点,您可以在 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,它也受可变规则支持,您可以看这个链接在此处输入链接描述
推荐阅读
- python - UnboundLocalError:分配前引用的局部变量“a1”
- javascript - Safari 剪贴板错误“TypeError: undefined is not an object”
- json - 如何使用机器人框架代码从列表中获取第一个键?
- java - 只想从我的手机图库中添加图片到数据库中,但在两者之间遇到了一些问题
- python - 没有名为 azure.cosmos.cosmos_client 的模块
- javascript - 如何在 Vive Focus Android WebView 的 JavaScript 中删除输入字段的选择突出显示?
- winforms - 为笛卡尔图 LiveCharts 添加边框
- wordpress - wordpress 如何使用 polylang 更改网站语言
- angular - 角度和离子路由
- react-native - 创建新频道时如何上传自定义图片