当前位置: 首页 > 科技观察

Replit.web:

时间:2023-03-13 12:01:47 科技观察

Replit是一个具有内置数据库和身份验证支持的Python框架,使编码人员能够快速构建应用程序。除了浏览器,开发者还可以启动服务器,将数据存储在ReplDB中,并使用ReplAuth对用户进行身份验证。然而,直到今天,用户还必须将所有这些组件串在一起才能构建应用程序。这就是为什么我们很高兴地宣布replit.web,一个专注于快速制作应用程序的Python框架。构建具有用户身份验证和持久性的应用程序从未如此简单:importflaskfromreplitimportdb,webapp=flask.Flask(__name__)users=web.UserStore()@app.route("/")@web.authenticateddefindex():hits=users.current.get("hits",0)+1users.current["hits"]=hitsreturnf"Youhavevisitedthispage{hits}times"web.run(app)ReplAuthReplAuth是每个Replit应用程序身份验证系统附带的内置身份.虽然Auth非常简单,但仍需要一些编码才能将其集成到您的应用程序中。由于replit.web扩展了流行的Flaskweb框架,现在验证路由就像使用web.authenticated装饰器要求验证一样简单。然后可以在web.auth.name下访问当前用户:@app.route("/")@web.authenticateddefindex():returnf"Hello,{web.auth.name}"ReplDB如果没有ReplDB(根据repl附带的完全托管的云数据库)提供毫不费力的持久性,新框架的神奇体验是不可能的。DB可以像普通的Python字典一样使用,它甚至支持嵌套的集合函数:db["bob"]={"score":0}db["bob"]["score"]+=100db["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,passaprefixusers.current#shorthandforusers[web.auth.name]FastestBuildExperienceBeyondDBandAuth,replit.web试图让Web应用程序开发的各个方面变得更容易,包括速度实用程序,例如限制和需要参数。为了测试该框架,该团队还构建了ReplTweet,这是一个为Replit用户提供的类似Twitter的有趣功能。用户可以登录、阅读推文、点赞并发表他们的想法。整个应用程序是150行代码。我们的目标是使这个框架成为制作Python应用程序的最快方式。目前,它专注于小型应用程序和原型设计。与我们在Replit所做的一切一样,这是一个早期版本,我们希望您能就我们如何改进它提供反馈。