Replit 使編碼人員能夠快速構(gòu)建應用程序。除了瀏覽器,開發(fā)人員可以啟動服務器,將數(shù)據(jù)存儲在 Repl DB 中,并使用 Repl Auth 對用戶進行身份驗證。然而,直到今天,用戶還必須將所有這些組件串在一起來構(gòu)建應用程序。
這就是為什么我們很高興宣布 replit.web,這是一個專注于快速制作應用程序的 Python 框架。構(gòu)建具有用戶身份驗證和持久性的應用程序從未如此簡單:
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 應用程序附帶的內(nèi)置身份驗證系統(tǒng)。雖然 Auth 非常簡單,但仍需要編寫一些代碼才能將其集成到您的應用程序中。由于 replit.web 擴展了流行的 Flask web 框架,現(xiàn)在驗證路由就像使用 web.authenticated 裝飾器要求驗證一樣簡單。然后可以在 web.auth.name 下訪問當前用戶:
@app.route(“/”)
@web.authenticated
def index():
return f“Hello, {web.auth.name}”
Repl DB如果沒有 Repl DB(每個 repl 隨附的完全托管的云數(shù)據(jù)庫)提供毫不費力的持久性,新框架的神奇體驗就不可能實現(xiàn)。DB 可以像普通 Python 字典一樣使用,它甚至支持嵌套設(shè)置功能:
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 結(jié)合了 DB 和 Auth 來提供 web.UserStore,這是一個由已認證用戶的用戶名鍵控的 db 實例,這使得存儲用戶數(shù)據(jù)變得簡單:
users = web.UserStore() # optionally, pass a prefix
users.current # shorthand for users[web.auth.name]
最快的構(gòu)筑體驗
除了 DB 和 Auth 之外, replit.web 還嘗試使 Web 應用程序開發(fā)的各個方面變得更容易,包括諸如速率限制和要求參數(shù)之類的實用程序。為了測試該框架,團隊還構(gòu)建 了ReplTweet,這是一個為 Replit 用戶設(shè)計的有趣的仿Twitter功能 。
用戶可以登錄,閱讀推文,like他們,并發(fā)布自己的想法。整個應用程序有 150 行代碼。
我們的目標是讓這個框架成為制作 Python 應用程序的最快方式。現(xiàn)在,它專注于小型應用程序和原型設(shè)計。與我們在 Replit 所做的一切一樣,這是一個早期版本,我們希望您就如何改進它向我們提供反饋。
請訪問文檔以開始使用:https://replit-py.readthedocs.io/en/latest/index.html
編輯:jq
-
編碼
+關(guān)注
關(guān)注
6文章
944瀏覽量
54840 -
代碼
+關(guān)注
關(guān)注
30文章
4790瀏覽量
68649 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84720
原文標題:Replit.web:具有內(nèi)置數(shù)據(jù)庫和身份驗證支持的 Python 框架
文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論