Python基礎之Flask快速入門2


通過上一篇文章的快速入門,實現了Python利用Flask框架搭建web項目的基本內容,本文將進一步介紹如何通過jQuery實現Flask項目的異步刷新,以達到局部更新的目的,僅供學習分享使用,如有不足之處,還請指正。

什么是Ajax?

Ajax是Asynchronous JavaScript and Xml的簡稱,通過Ajax向服務器發送請求,接收服務器返回的json數據,然后使用javascript修改頁面來實現頁面數據的局部刷新。AJAX 是與服務器交換數據的藝術,它在不重載全部頁面的情況下,實現了對部分網頁的更新。使用jQuery框架可方便的編寫ajax代碼,需要jQuery.js文件。

jQuery下載

jQuery可以通過官網進行下載,在開發過程中,為便於調試,可下載開發版。如下所示:

創建模板

在下載完jQuery后,將其拷貝到static/js目錄下,然后創建模板文件ajax.html,如下所示:

 

 ajax.html文件中調用jQuery創建ajax,然后更新頁面,如下所示:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>異步刷新頁面</title>
 6     <script src="../static/js/jquery-3.6.0.js"></script>
 7     <script type="text/javascript">
 8         $(document).ready(function () {
 9             $("#btn_ajax").click(function () {
10                 $.ajax({
11                     url: "/ajax_data",
12                     type: "post",
13                     data: {"name": "李四", "score": 99},
14                     success: function (data) {
15                         $("h1").html("中國加油>>" + data);
16                     },
17                     error: function (data) {
18                         alert("發送ajax失敗!");
19                     }
20 
21                 })
22             });
23         });
24     </script>
25 </head>
26 <body>
27 <h1>局部刷新</h1>
28 <input id="btn_ajax" type="button" value="點我有驚喜"/>
29 </body>
30 </html>

其中ajax_data為指定路由,主要用於獲取數據,如下所示:

 

 注意:一般默認情況下,flask路由只支持get方式,為支持post方式,需要顯示聲明。

啟動服務

啟動flask服務,在瀏覽器中進行訪問,初始化加載時如下所示:

 

 點擊按鈕后,通過ajax調用后端服務,成功后,刷新頁面,實現局部刷新功能,如下所示:

 

以上就是Python利用flask及jQuery實現異步刷新的方法,旨在拋磚引玉,分析分享。

字符串格式化

字符串的格式化方法分為兩種,分別為占位符(%)和format方式。占位符方式在Python2.x中用的比較廣泛,隨着Python3.x的使用越來越廣,format方式使用的更加廣泛。

占位符(%)方式

1 name = '小王'
2 age = 20
3 score = 100
4 country = '中國'
5 print("我的名字叫%s我的年齡是%d我的分數是%d我的祖國是%s" % (name, age, score, country))

占位符還可以通過字典的方式進行匹配,如下所示:

1 print("我的名字叫%(name)s我的年齡是%(age)d我的分數是%(score)d我的祖國是%(country)s" % (
2     {"name": name, "age": age, "score": score, "country": country}))

輸出結果如下所示:

 

format方式

1 name = '小王'
2 age = 20
3 score = 100
4 country = '中國'
5 print("我的名字叫{}我的年齡是{}我的分數是{}我的祖國是{}".format(name, age, score, country))  # 默認1對1,多1不可,缺1不可
6 print("我的名字叫{0}我的年齡是{1}我的分數是{2}我的祖國是{3}".format(name, age, score, country))  # 通過位置找出替換目標及插入的參數
7 print("我的名字叫{name}我的年齡是{age}我的分數是{score}我的祖國是{country}".format(name=name, age=age, score=score,
8                                                                country=country))  # {}通過關鍵字找出替換目標及插入的參數

以上幾種format方式,輸出結果一致,如下所示:

 

插值法 

在Python 3.6以后,還提供了插值法,實現格式化,如下所示:

1 name = '小王'
2 age = 20
3 score = 100
4 country = '中國'
5 print(f"我的名字叫{name}我的年齡是{age}我的分數是{score}我的祖國是{country}")

輸出結果也是一樣的,如下所示:

備注

長相思·其一

【作者】李白 【朝代】唐

長相思,在長安。

絡緯秋啼金井闌,微霜凄凄簟色寒。孤燈不明思欲絕,帷望月空長嘆。美人如花隔雲端!

上有青冥之長天,下有淥水之波瀾。天長路遠魂飛苦,夢魂不到關山難。

長相思,摧心肝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM