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

开发 后端
直到今天,用户还必须将所有这些组件串在一起来构建应用程序。这就是为什么我们很高兴宣布 replit.web,这是一个专注于快速制作应用程序的 Python 框架。

 

Replit 使编码人员能够快速构建应用程序。除了浏览器,开发人员可以启动服务器,将数据存储在 Repl DB 中,并使用 Repl Auth 对用户进行身份验证。然而,直到今天,用户还必须将所有这些组件串在一起来构建应用程序。这就是为什么我们很高兴宣布 replit.web,这是一个专注于快速制作应用程序的 Python 框架。构建具有用户身份验证和持久性的应用程序从未如此简单: 

  1. import flask  
  2. from replit import db, web  
  3. app = flask.Flask(__name__)  
  4. users = web.UserStore()  
  5. @app.route("/")  
  6. @web.authenticated  
  7. def index():  
  8.     hits = users.current.get("hits", 0) + 1  
  9.     users.current["hits"] = hits  
  10. return f"You have visited this page {hits} times"  
  11. web.run(app) 

Repl Auth

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

  1. @app.route("/")  
  2. @web.authenticated  
  3. def index():  
  4. return f"Hello, {web.auth.name}" 

Repl DB

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

  1. db["bob"] = {"score": 0}  
  2.  db["bob"]["score"] += 100  
  3.  db["bob"].get("friends", []).append("Alice")  
  4.  print(db["bob"]) # => ObservedDict(value={'score': 100, 'friends': ObservedList(value=['Alice'])}) 

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

  1. users = web.UserStore() # optionally, pass a prefix  
  2.   users.current # shorthand  for users[web.auth.name] 

最快的构筑体验

除了 DB 和 Auth 之外, replit.web 还尝试使 Web 应用程序开发的各个方面变得更容易,包括诸如速率限制和要求参数之类的实用程序。为了测试该框架,团队还构建 了ReplTweet,这是一个为 Replit 用户设计的有趣的仿Twitter功能 。用户可以登录,阅读推文,like他们,并发布自己的想法。整个应用程序有 150 行代码。

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

 

责任编辑:庞桂玉 来源: 马哥Linux运维
相关推荐

2010-09-06 11:24:47

CHAP验证PPP身份验证

2017-02-15 14:56:24

Web应用验证

2017-05-05 10:55:31

Web应用登录工程身份验证

2009-08-05 15:54:49

Web Service

2010-07-17 00:57:52

Telnet身份验证

2012-04-10 09:36:58

2022-08-30 18:35:53

SQL ServerWindows身份验证

2013-07-21 18:32:13

iOS开发ASIHTTPRequ

2011-02-21 10:54:45

2021-04-01 17:34:58

ReactServerless用户身份验证

2012-10-23 16:12:35

2009-04-09 23:44:08

软件身份验证用户

2022-10-31 10:00:00

2010-07-19 17:30:47

2020-12-17 08:10:19

身份验证授权微服务

2010-11-30 15:31:38

SharePoint Kerberos

2022-04-02 14:13:12

身份验证软件开发低代码

2024-01-02 08:18:41

2021-07-19 10:10:15

身份验证漏洞Windows Hel

2010-11-03 16:07:38

DB2身份验证
点赞
收藏

51CTO技术栈公众号