標籤:

可以用JQuery 調用Python對象的function嘛?

我在寫自己的第一個web程序。新手求指教 主要是用flask+sqlalchemy+jquery_html。

舉例小例子說明一下我遇到的問題吧:

後台flask 端:

Python+ sqlalchemy已經定義好了一個 model class 成員變數 id, name 以及一個function:change_name(new_name). 現在用

@app.route("/")

def hello_world():

return render_template("index.html", member_list= origin_list)

origin_list是一個存放model class 對象的list。

在HTML+JS 端:

&

&

多謝!


你對於Flask的基本的東西比如jinja2還沒理解,建議你先看《Flask開發實踐》那本書,一步一步嚴格按書上來,之後看看Flask的官方文檔。否則這裡解決你這個問題,你還會遇到其他問題。

  1. 首先 {{ }} 符號是jinja2的語法。這個符號包裹的內容是在服務端生成好展現給你的。也即:這個符號包裹的內容為伺服器生成單向傳遞給客戶端的。不能在客戶端往裡面塞東西試圖傳遞到伺服器端。
  2. 傳遞數據到Flask有一些方法,可能適合你現在階段嘗試的就是使用jQuery的Ajax方法向伺服器提交數據。不過你寫好jQuery的提交只完成一半,還需要伺服器那邊你寫好方法接收客戶端過來的數據。這個案例在Flask的官方文檔中有說明:用 jQuery 實現 Ajax 你理解一下「JSON 視圖函數」這裡怎麼實現2個數相加並將結果返回的,大概就能理解伺服器和客戶端的數據如何交互了。

當然,你學會上述2點只是個開始,因為實際使用時,情況遠比例子給你的複雜許多,比如必須得考慮安全性等等。

反正感覺你知識似乎比較碎片化,所以我很建議你看我推薦的這本書,系統的學習一下。

加油!


基礎知識欠缺。。

甚至沒理解web的基本架構。

flask是一個後端框架,使用jinja2作為模板渲染引擎。

這句話的意思是:瀏覽器看到的頁面是由flask調用jinja2,jinja2根據給定的參數對模板進行渲染並返回給flask,flask把渲染好的頁面發送給瀏覽器。

那麼問題來了,你為什麼會有在瀏覽器里可以直接對伺服器(甚至是python而不是js)進行調用的錯覺呢。


推薦閱讀:

想要對 HTML 和 CSS 有深入的理解,是不是需要學習傳統排版的知識?如果需要,應該學習到什麼程度?
HTML大面積使用ID是對是錯?
HTML標籤嵌套層次?

TAG:HTML | jQuery | Flask |