最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python編程在flask中模擬進(jìn)行Restful的CRUD操作

 更新時(shí)間:2018年12月28日 14:43:03   作者:liumiaocn  
今天小編就為大家分享一篇關(guān)于Python編程在flask中模擬進(jìn)行Restful的CRUD操作,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

這篇文章中我們將通過對(duì)HelloWorld的message進(jìn)行操作,介紹一下如何使用flask進(jìn)行Restful的CRUD。

概要信息

事前準(zhǔn)備:flask

liumiaocn:flask liumiao$ which flask
/usr/local/bin/flask
liumiaocn:flask liumiao$ flask --version
Flask 1.0.2
Python 2.7.10 (default, Jul 15 2017, 17:16:57) 
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
liumiaocn:flask liumiao$

代碼示例:HTTP謂詞(GET)

就像angular的插值表達(dá)式在模版中的作用一樣,在flask中也可以一樣使用,如果不熟悉angular的插值表達(dá)式的話也不要緊,看完下面的例子,基本上就會(huì)有一個(gè)大致的印象。

代碼示例

liumiaocn:flask liumiao$ cat flask_4.py 
#!/usr/bin/python
from flask import Flask
from flask import render_template
app = Flask(__name__)
greeting_messages=["Hello World", "Hello Python"]
@app.route("/api/messages",methods=['GET'])
def get_messages():
  return render_template("resttest.html",messages=greeting_messages) 
if __name__ == "__main__":
  app.debug=True
  app.run(host='0.0.0.0',port=7000)
liumiaocn:flask liumiao$

模版文件

liumiaocn:flask liumiao$ cat templates/resttest.html 
<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>Hello Restful</title>
</head>
<body>
    {% for message in messages %}
 <h1>{{ message }}</h1>
    {% endfor %}
</body>
</html>
liumiaocn:flask liumiao$

代碼解析:app.route中指定了HTTP謂詞GET,缺省GET可以省略,如果一個(gè)方法對(duì)應(yīng)多個(gè)謂詞動(dòng)作,通過request.method來分離時(shí),可以寫成methods=[‘GET','POST']的形式

執(zhí)行&確認(rèn)

liumiaocn:flask liumiao$ ./flask_4.py 
 * Serving Flask app "flask_4" (lazy loading)
 * Environment: production
  WARNING: Do not use the development server in a production environment.
  Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://0.0.0.0:7000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 131-533-062

頁面確認(rèn)

代碼示例:HTTP謂詞(DELETE|PUT|POST)

liumiaocn:flask liumiao$ cat flask_4.py 
#!/usr/bin/python
from flask import Flask
from flask import render_template
from flask import request
import json
app = Flask(__name__)
greeting_messages=["Hello World", "Hello Python"]
#HTTP: GET: Retrieve operation
@app.route("/api/messages",methods=['GET'])
def get_messages():
  return render_template("resttest.html",messages=greeting_messages) 
#HTTP: DELETE: Delete operation
@app.route("/api/messages/<messageid>",methods=['DELETE'])
def delete_message(messageid):
  global greeting_messages
  del greeting_messages[int(messageid)]
  return render_template("resttest.html",messages=greeting_messages) 
#HTTP: PUT: Update operation
#HTTP: POST: Create operation
@app.route("/api/messages/<messageid>",methods=['PUT','POST'])
def update_message(messageid):
  global greeting_message
  msg_info=json.loads(request.get_data(True,True,False))
  #msg_info=request.args.get('message_info')
  #msg_info=request.form.get('message_info','default value')
  #msg_info=request.values.get('message_info','hello...')
  greeting_messages.append("Hello " + msg_info["message_info"])
  return render_template("resttest.html",messages=greeting_messages) 
if __name__ == "__main__":
  app.debug=True
  app.run(host='0.0.0.0',port=7000)
liumiaocn:flask liumiao$

執(zhí)行&結(jié)果確認(rèn)

執(zhí)行日志

liumiaocn:flask liumiao$ ./flask_4.py 
 * Serving Flask app "flask_4" (lazy loading)
 * Environment: production
  WARNING: Do not use the development server in a production environment.
  Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://0.0.0.0:7000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 131-533-062

結(jié)果確認(rèn):Delete

liumiaocn:flask liumiao$ curl -X DELETE http://localhost:7000/api/messages/1
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Hello Restful</title>
</head>
<body>
  <h1>Hello World</h1>
</body>
</html>liumiaocn:flask liumiao$

可以看到執(zhí)行一次DELETE之后,兩條消息現(xiàn)在只剩下一條消息了,接下來使用POST添加再添加一條

liumiaocn:flask liumiao$ curl -X POST -d '{"message_info":"LiuMiaoPost"}' http://localhost:7000/api/messages/3
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Hello Restful</title>
</head>
<body>
  <h1>Hello World</h1>
  <h1>Hello LiuMiaoPost</h1>
</body>
</html>liumiaocn:flask liumiao$

再執(zhí)行一次PUT操作

liumiaocn:flask liumiao$ curl -X PUT -d '{"message_info":"LiuMiaoPut"}' http://localhost:7000/api/messages/4
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Hello Restful</title>
</head>
<body>
  <h1>Hello World</h1>
  <h1>Hello LiuMiaoPost</h1>
  <h1>Hello LiuMiaoPut</h1>
</body>
</html>liumiaocn:flask liumiao$

小結(jié)

這篇文章中,使用最簡(jiǎn)單的方式在flask中模擬了一下如何進(jìn)行Restful的CRUD操作,當(dāng)然,實(shí)際的做法有很多種,在接下來的文章中還會(huì)介紹另外一種非常常見的輪子flask-restful.

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • python實(shí)現(xiàn)碑帖圖片橫向拼接

    python實(shí)現(xiàn)碑帖圖片橫向拼接

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)碑帖圖片橫向拼接,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • Python中l(wèi)ogging日志記錄到文件及自動(dòng)分割的操作代碼

    Python中l(wèi)ogging日志記錄到文件及自動(dòng)分割的操作代碼

    這篇文章主要介紹了Python中l(wèi)ogging日志記錄到文件及自動(dòng)分割,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python使用修飾器進(jìn)行異常日志記錄操作示例

    Python使用修飾器進(jìn)行異常日志記錄操作示例

    這篇文章主要介紹了Python使用修飾器進(jìn)行異常日志記錄操作,結(jié)合實(shí)例形式分析了Python基于修飾器的log日志文件操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-03-03
  • python requests抓取one推送文字和圖片代碼實(shí)例

    python requests抓取one推送文字和圖片代碼實(shí)例

    這篇文章主要介紹了python requests抓取one推送文字和圖片代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • python interpolate插值實(shí)例

    python interpolate插值實(shí)例

    這篇文章主要介紹了python interpolate插值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python神經(jīng)網(wǎng)絡(luò)slim常用函數(shù)訓(xùn)練保存模型

    python神經(jīng)網(wǎng)絡(luò)slim常用函數(shù)訓(xùn)練保存模型

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)使用slim函數(shù)進(jìn)行模型的訓(xùn)練及保存模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 說一說Python logging

    說一說Python logging

    這篇文章主要和大家聊一聊Python logging,Python logging是什么,Python logging的作用是什么,感興趣的小伙伴們可以參考一下
    2016-04-04
  • python發(fā)送多人郵件沒有展示收件人問題的解決方法

    python發(fā)送多人郵件沒有展示收件人問題的解決方法

    這篇文章主要為大家詳細(xì)介紹了python發(fā)送多人郵件沒有展示收件人問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python正則表達(dá)式re.findall()幾種方法示例

    Python正則表達(dá)式re.findall()幾種方法示例

    這篇文章主要介紹了Python正則表達(dá)式re.findall()幾種方法示例,文中介紹了如何使用正則表達(dá)式在字符串中查找匹配的字符,并將它們返回為一個(gè)列表,示例展示了如何匹配數(shù)字并處理沒有匹配到的情況,需要的朋友可以參考下
    2024-12-12
  • Python中的數(shù)據(jù)標(biāo)準(zhǔn)化與反標(biāo)準(zhǔn)化全面指南

    Python中的數(shù)據(jù)標(biāo)準(zhǔn)化與反標(biāo)準(zhǔn)化全面指南

    在數(shù)據(jù)處理和機(jī)器學(xué)習(xí)中,數(shù)據(jù)標(biāo)準(zhǔn)化是一項(xiàng)至關(guān)重要的預(yù)處理步驟,標(biāo)準(zhǔn)化能夠?qū)⒉煌叨群头秶臄?shù)據(jù)轉(zhuǎn)換為相同的標(biāo)準(zhǔn),有助于提高模型的性能和穩(wěn)定性,Python提供了多種庫和函數(shù)來執(zhí)行數(shù)據(jù)標(biāo)準(zhǔn)化和反標(biāo)準(zhǔn)化,如Scikit-learn和TensorFlow
    2024-01-01

最新評(píng)論

伊通| 阿荣旗| 安新县| 海林市| 临沂市| 且末县| 石柱| 大同县| 漳平市| 西吉县| 郧西县| 克什克腾旗| 修武县| 韩城市| 阿拉善盟| 韶山市| 司法| 靖西县| 临沭县| 永安市| 金平| 双柏县| 永年县| 洞头县| 罗山县| 栾城县| 商丘市| 龙陵县| 苗栗县| 南汇区| 石城县| 开封市| 西华县| 四平市| 沙湾县| 富源县| 湟中县| 临沭县| 肥乡县| 平南县| 东宁县|