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

    文章

    1015

    浏览量

    56646
  • 代码
    +关注

    关注

    30

    文章

    4940

    浏览量

    73123
  • python
    +关注

    关注

    57

    文章

    4856

    浏览量

    89557

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并
    的头像 发表于 07-24 11:12 435次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—服务器异常断电导致Oracle<b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例

    MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍
    的头像 发表于 07-01 11:13 455次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—MongoDB<b class='flag-5'>数据库</b>文件丢失的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库被加密如何恢复数据

    SQL Server数据库故障: SQL Server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。
    的头像 发表于 06-25 13:54 499次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>被加密如何恢复<b class='flag-5'>数据</b>?

    SQLSERVER数据库是什么

    支持在Linux和容器化环境中运行。 核心特点 关系型数据库 基于SQL(结构化查询语言)进行数据操作,支持表、行、列等结构化存储。 提供ACID(原子性、一致性、隔离性、持久性)事务
    的头像 发表于 05-26 09:19 978次阅读

    MySQL数据库是什么

    开发、企业应用和大数据场景。以下是其核心特性和应用场景的详细说明: 核心特性 关系型数据库模型 数据以 表(Table) 形式组织,表由行(记录)和列(字段)构成。 通过 主键、外键 实现表间关联,
    的头像 发表于 05-23 09:18 912次阅读

    SEGGER emFile支持大型数据库

    SEGGER宣布emFile对大型数据库支持,集成了SQLite,方便与SEGGER的BigFAT和微软的exFAT一起使用。
    的头像 发表于 04-23 15:51 555次阅读

    数据库数据恢复——MongoDB数据库文件拷贝后服务无法启动的数据恢复

    MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 管理员在未关闭MongoDB服务的
    的头像 发表于 04-09 11:34 648次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复——MongoDB<b class='flag-5'>数据库</b>文件拷贝后服务无法启动的<b class='flag-5'>数据</b>恢复

    如何使用PN7制作具有5180字节UID的身份验证mifare plus?

    我正在开发的读卡器使用 PN5180。 我想读取 7 字节 UID 的 Mifare Plus ev1 卡 但 PN5180数据表仅解释了4字节 UID 卡。 如何使用 PN7 制作具有 5180 字节 UID 的身份验证 mi
    发表于 04-01 06:37

    适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据库

    和 MariaDB 数据库服务器以及托管数据库服务,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全实现了 Python DB API 2.0 规范,并作为 Window
    的头像 发表于 01-17 12:18 843次阅读
    适用于MySQL和MariaDB的<b class='flag-5'>Python</b>连接器:可靠的MySQL<b class='flag-5'>数据</b>连接器和<b class='flag-5'>数据库</b>

    MySQL数据库的安装

    的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一, 具有成本低、速度快、体积小且开放源代码等优点。 全球数据库引擎使用排行榜: 【三】下载MyS
    的头像 发表于 01-14 11:25 857次阅读
    MySQL<b class='flag-5'>数据库</b>的安装

    适用于Oracle的Python连接器:可访问托管以及非托管的数据库

    适用于 Oracle 的 Python 连接器 适用于 Oracle 的 Python 连接器是一种可靠的连接解决方案,用于从 Python 应用程序访问 Oracle 数据库服务器和
    的头像 发表于 01-14 10:30 737次阅读

    数据库是哪种数据库类型?

    数据库是一种部署在虚拟计算环境中的数据库,它融合了云计算的弹性和可扩展性,为用户提供高效、灵活的数据库服务。云数据库主要分为两大类:关系型数据库
    的头像 发表于 01-07 10:22 792次阅读

    数据库数据恢复—Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分
    的头像 发表于 12-16 11:05 997次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—Mysql<b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b>恢复流程

    数据库事件触发的设置和应用

    数据库无论对于生产管理还是很多的实际应用都非常重要。小编这次聊一下数据库事件触发的应用。示例使用了postgresql和Python
    的头像 发表于 12-13 15:14 1016次阅读

    数据库数据恢复—MYSQL数据库ibdata1文件损坏的数据恢复案例

    mysql数据库故障: mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库
    的头像 发表于 12-09 11:05 1045次阅读