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