0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析具有内置数据库和身份验证支持的 Python 框架

阿铭linux 来源:Python中文社区 作者:Python中文社区 2021-08-14 11:05 次阅读

Replit 使编码人员能够快速构建应用程序。除了浏览器,开发人员可以启动服务器,将数据存储在 Repl DB 中,并使用 Repl Auth 对用户进行身份验证。然而,直到今天,用户还必须将所有这些组件串在一起来构建应用程序。

这就是为什么我们很高兴宣布 replit.web,这是一个专注于快速制作应用程序的 Python 框架。构建具有用户身份验证和持久性的应用程序从未如此简单:

import flask

from replit import db, web

app = flask.Flask(__name__)

users = web.UserStore()

@app.route(“/”)

@web.authenticated

def index():

hits = users.current.get(“hits”, 0) + 1

users.current[“hits”] = hits

return f“You have visited this page {hits} times”

web.run(app)

Repl Auth

Repl Auth 是每个 Replit 应用程序附带的内置身份验证系统。虽然 Auth 非常简单,但仍需要编写一些代码才能将其集成到您的应用程序中。由于 replit.web 扩展了流行的 Flask web 框架,现在验证路由就像使用 web.authenticated 装饰器要求验证一样简单。然后可以在 web.auth.name 下访问当前用户:

@app.route(“/”)

@web.authenticated

def index():

return f“Hello, {web.auth.name}”

Repl DB如果没有 Repl DB(每个 repl 随附的完全托管的云数据库)提供毫不费力的持久性,新框架的神奇体验就不可能实现。DB 可以像普通 Python 字典一样使用,它甚至支持嵌套设置功能:

db[“bob”] = {“score”: 0}

db[“bob”][“score”] += 100

db[“bob”].get(“friends”, []).append(“Alice”)

print(db[“bob”]) # =》 ObservedDict(value={‘score’: 100, ‘friends’: ObservedList(value=[‘Alice’])})

replit.web 结合了 DB 和 Auth 来提供 web.UserStore,这是一个由已认证用户的用户名键控的 db 实例,这使得存储用户数据变得简单:

users = web.UserStore() # optionally, pass a prefix

users.current # shorthand for users[web.auth.name]

最快的构筑体验

除了 DB 和 Auth 之外, replit.web 还尝试使 Web 应用程序开发的各个方面变得更容易,包括诸如速率限制和要求参数之类的实用程序。为了测试该框架,团队还构建 了ReplTweet,这是一个为 Replit 用户设计的有趣的仿Twitter功能 。

用户可以登录,阅读推文,like他们,并发布自己的想法。整个应用程序有 150 行代码。

我们的目标是让这个框架成为制作 Python 应用程序的最快方式。现在,它专注于小型应用程序和原型设计。与我们在 Replit 所做的一切一样,这是一个早期版本,我们希望您就如何改进它向我们提供反馈。

请访问文档以开始使用:https://replit-py.readthedocs.io/en/latest/index.html

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    835

    浏览量

    54457
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66751
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466

原文标题:Replit.web:具有内置数据库和身份验证支持的 Python 框架

文章出处:【微信号:aming_linux,微信公众号:阿铭linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    OpenAI启用多重身份验证,ChatGPT用户可自行开启

    以ChatGPT服务实例分析,使用者需首先抵达chat.openai.com网页,点击左侧用户名下方的设置图标进入配置界面。随后在“常规”选项组中寻找并选定“多重身份验证”启动与否。
    的头像 发表于 03-10 11:18 429次阅读

    使用ATSHA204A和PIC16单片机对消耗品进行身份验证

    使用ATSHA204A和PIC16单片机对消耗品进行身份验证
    的头像 发表于 09-18 10:56 566次阅读
    使用ATSHA204A和PIC16单片机对消耗品进行<b class='flag-5'>身份验证</b>

    使用加密和身份验证来保护UltraScale/UltraScale+ FPGA比特流

    电子发烧友网站提供《使用加密和身份验证来保护UltraScale/UltraScale+ FPGA比特流.pdf》资料免费下载
    发表于 09-13 17:14 0次下载
    使用加密和<b class='flag-5'>身份验证</b>来保护UltraScale/UltraScale+ FPGA比特流

    STSAFE-V110面向车载Qi V1.3无线充电器的身份验证解决方案

    是面向汽车Qi充电器的整体式安全解决方案,符合Qi WPC 1.3规范。它内嵌在Qi充电器中,鉴别真正获得Qi认证的充电器,从而确保用户安全并保护设备免受任何由非认证无线充电器造成的损害。STSAFE-V110是高度安全的身份验证解决方案,其安全性获得独立第三方的通用标准EAL4+认证。
    发表于 09-08 07:01

    python读取数据库数据 python查询数据库 python数据库连接

    python读取数据库数据 python查询数据库 python
    的头像 发表于 08-28 17:09 1197次阅读

    python有什么用 如何用python创建数据库

    python有什么用 如何用python创建数据库 Python是一种高级编程语言,可以用于开发各种类型的应用程序和工具。它的广泛应用使它在编程领域中极为受欢迎。
    的头像 发表于 08-28 16:41 779次阅读

    SQLite数据库python的区别

    SQLite数据库python的区别 SQLite是一种轻量级关系型数据库管理系统,是一个嵌入式的数据库引擎。Python是一种高级编程语
    的头像 发表于 08-28 16:41 531次阅读

    Vivado统一Web安装程序:下载和安装过程中无法绕过用户帐户身份验证阶段

    当我尝试在机器上安装 Vivado 时,无法通过帐户身份验证检查。为什么会出现此问题?
    的头像 发表于 07-11 17:05 813次阅读
    Vivado统一Web安装程序:下载和安装过程中无法绕过用户帐户<b class='flag-5'>身份验证</b>阶段

    基于DS28S60的双向身份验证示例,使用Jupyter笔记本

    本应用笔记详细介绍了DS28S60与Jupyter笔记本配合使用进行双向认证的基本应用。它使用分步方法来演练设置设备和所有相关软件,创建用于通过 ECDHE 密钥交换加密数据的共享密钥,使用 AES-GCM 加密和解密数据,以及通过 ECDSA 签名生成和
    的头像 发表于 06-16 11:39 480次阅读
    基于DS28S60的双向<b class='flag-5'>身份验证</b>示例,使用Jupyter笔记本

    如何创建一个经过身份验证的会话以使用DeleteAll函数?

    我想使用 AES 密钥与 se050 创建经过身份验证的会话。nano 包似乎不支持这一点。我的理解正确吗? 这很重要 b/c 我想为特定密钥的安全密钥和数据设置策略。我知道您可以在设置策略时将
    发表于 06-08 08:36

    如何将ESP8266连接到需要用户名/密码身份验证的telnet服务器仅使用无线上网?

    我这里有一个 WeMosD1 R2 板,我想知道是否有人愿意给我指点阅读材料或示例,以了解如何将它连接到需要用户名/密码身份验证的 telnet 服务器(例如 mikrotik 路由器)仅使用无线
    发表于 06-06 13:24

    高考临近,人脸识别终端机应用于考场将有效提升身份验证效率

    近年来,随着人工智能技术不断发展,人脸识别终端机市场渗透率快速攀升,为各行业带来了诸多变革。其中,教育领域也不例外。据悉,现在国内许多省份的高考考场都开始采用人脸识别终端机进行身份验证,这一
    的头像 发表于 06-06 10:27 461次阅读
    高考临近,人脸识别终端机应用于考场将有效提升<b class='flag-5'>身份验证</b>效率

    HDCP 2.2:身份验证和密钥交换

    HDCP 发射器可以随时启动,甚至在之前的身份验证完成之前。HDCP 接收器的公钥证书由 HDCP 发射器验证,然后设备共享主密钥 Km。这个存储的主密钥公里加速了HDCP发射器和接收器之间的后续
    的头像 发表于 05-29 09:28 2789次阅读
    HDCP 2.2:<b class='flag-5'>身份验证</b>和密钥交换

    HDCP 2.2:使用中继器进行局部性检查、SKE和身份验证

    在 HDCP 2.2 身份验证过程 – 简介中,我们讨论了为什么需要 HDCP,以及 HDCP 身份验证过程的基本步骤。我们注意到,RSA 的高级版本是身份验证和密钥交换 (AKE) 期间
    的头像 发表于 05-29 09:24 1523次阅读
    HDCP 2.2:使用中继器进行局部性检查、SKE和<b class='flag-5'>身份验证</b>

    Linux中常用的6种SSH身份验证方法

    文件等。由于远程访问可能涉及到安全问题,因此 Linux 提供了多种身份验证方法来保护 SSH 连接的安全性。本文将介绍 Linux 中常用的 6 种 SSH 身份验证方法。
    的头像 发表于 05-12 14:42 2513次阅读