够用就好!nicegui最佳实践之“用户认证”

nicegui最佳实践之“用户认证”

1.问题:

这一节开发一个相对大些的应用------“用户登录”页面。用户登录需要有什么呢?大体分为以下几个大块。
登录框页面 --> 密码验证(数据库) --> 用户注册页面 -->用户会话保存。

2.核心概念:

  • “登录框页面 ”
    提供了登录的能力。至少一个“用户名”输入框、一个“密码”输入框,还有一个“登录”按钮。
  • “密码验证(数据库)”
    通过SQLAlchemy完成数据库和实体类的ORM映射。关于ORM,建议大家边用边学。相信大部分数据人宁可写SQL也不愿意多写代码,但是实际情况是ORM会大大地减少“增删改查”过程中的SQL,让你的代码看上去更容易理解。不用学太深,够用就好!
  • “用户注册页面”
    相比“登录框页面 ”得多一个“再次输入密码”的输入框。
  • “用户会话保存”
    这个对于web接触较少的同学可以这样理解,登录前和登录后显示的界面得不一样吧?登录后在网站上的操作得有地方记录吧?我对页面进行了操作,别人能不能看到呢?这些其实都是对用户会话的保存。nicegui 对存储有五种存储类型,官网写的琐碎,我整理成下面的表格,关注“场景”就好。
存储类型 会话范围 服务器端存储 场景 说明
app.storage.tab 标签页 相当不重要的数据、页面刷新即失效的数据 每个浏览器tab页都有一个独立的app.storage.tab字典,存储当前tab页的对象
app.storage.client 客户端 大文件、数据库连接、视频、音频等 当页面重新加载或用户导航到另一个页面时,数据将被丢弃。与app.storage.tab中的数据不同,app.storage.client可以帮助缓存资源密集型对象,如流媒体或数据库连接,这些对象需要在动态站点更新时保持活动状态,但在用户离开页面或关闭浏览器时可以被丢弃。
app.storage.user 存在浏览器的cookie中 最常用 每个用户都有唯一的存储空间,可以在所有他们的浏览器选项卡中访问。注意域app.storage.browser区别
app.storage.general 所有用户共享 多用户共享的数据 共享么,所有人共用
app.storage.browser 存在浏览器的cookie中 不常用 只存储在客户端,官网更推荐用app.storage.user

3.示例代码:

from nicegui import ui,app
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲键盘的生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值