Python 프로 그래 밍 은 flask 에서 Restful 의 CRUD 작업 을 모 의 합 니 다.
개요 정보
사전 준비: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 의 플러그 인 표현 식 이 모드 에서 의 역할 처럼 fllask 에서 도 마찬가지 로 사용 할 수 있 습 니 다.angular 의 플러그 인 표현 식 에 익숙 하지 않 으 면 괜 찮 습 니 다.아래 의 예 를 보면 대체적으로 대체적인 인상 을 받 을 수 있 습 니 다.
코드 예제
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 가 부족 하면 생략 할 수 있 습 니 다.한 방법 이 여러 술어 동작 에 대응 하면 request.method 를 통 해 분리 할 때 methods=['GET','POST']형식 으로 쓸 수 있 습 니 다.실행&확인
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
페이지 확인코드 예제: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$
실행&결과 확인실행 로그
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
결과 확인: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$
DELETE 를 한 번 실행 한 후 두 가지 메 시 지 를 볼 수 있 습 니 다.이제 하나의 메시지 만 남 았 습 니 다.다음은 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$
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$
작은 매듭이 글 에서 가장 간단 한 방식 으로 fllask 에서 Restful 의 CRUD 조작 을 어떻게 하 는 지 모 의 했다.물론 실제 적 인 방법 은 여러 가지 가 있 으 며,다음 글 에 서 는 또 다른 흔히 볼 수 있 는 바퀴 fllask-restful 도 소개 한다.
총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.