Posted 鍊╁€╁皬骞窰u

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相关的知识,希望对你有一定的参考价值。

鈥斺€斺€斺€斿搱鍠斤紝澶у€╁€╁張鏉ュ暒 馃檱鈥嶁檧锔忦煓団€嶁檧锔忦煓団€嶁檧锔?/span>

鈥斺€?鈥斺€旀眰璧忔眰鍏虫敞锛屼箞涔堝搾Flask 鍏ラ棬鍙婅瑙?><img src=鏃ュ父鍞犲彣

鍦ㄦ垜鐨勭悊瑙g湅鏉ワ紝Flask 灏辨槸缁撳悎 Python 鍜?HTML 缂栧啓 web 椤甸潰銆?/p>

1锛塒ython 鐢ㄦ潵缂栧啓 URL銆佽繑鍥炵粨鏋滐紱

2锛塇TML 缂栧啓椤甸潰鍙傛暟锛?/p>

3锛夐€氳繃缃戦〉绔闂?WEB 椤甸潰锛?/p>

涓嬮潰灏卞ぇ姒傝璁?Flask 鐨勪娇鐢紝鎴戣寰楁垜灏辨帉鎻′簡鐐圭毊姣涳紝娆㈣繋鍚勪綅琛ュ厖鍒嗕韩Flask 鍏ラ棬鍙婅瑙? class=Flask 鍏ラ棬鍙婅瑙? class=

Flask 鍏ラ棬

1銆佷粈涔堟槸 Flask

Flask 鏄竴涓交閲忕骇鐨勫彲瀹氬埗妗嗘灦锛屼娇鐢?Python 璇█缂栧啓锛岃緝鍏朵粬鍚岀被鍨嬫鏋舵洿涓虹伒娲汇€佽交渚裤€佸畨鍏ㄤ笖瀹规槗涓婃墜銆?

Flask 妗嗘灦鐨勪富瑕佺壒寰佹槸鏍稿績鏋勬垚姣旇緝绠€鍗曪紝浣嗗叿鏈夊緢寮虹殑鎵╁睍鎬у拰鍏煎鎬э紝绋嬪簭鍛樺彲浠ヤ娇鐢?Python 璇█蹇€熷疄鐜颁竴涓綉绔欐垨 Web 鏈嶅姟銆?/p>

2銆佸畨瑁?Flask

pip install flask

3銆佸疄渚?1

  • 鎵撳紑 Pycharm 缂栬緫鍣紝鏂板缓涓€涓?py 鏂囦欢銆傚锛歞emo.py
from flask import Flask#褰撳墠妯″潡瀹炰緥鍖栦竴涓狥lask瀵硅薄app=Flask(__name__)#鎸傝浇鎺ュ彛鍦板潃@app.route('/add')#鍐欎釜鍑芥暟def add(): a=1 b=2 return str(a+b)if __name__=="__main__": #濡傛灉鏄粠鏈ā鍧楄繍琛岀殑灏辫繍琛屼笅闈㈢殑 app.run()
  • 杩愯鏂囦欢锛屽嚭鐜颁笅杩扮殑缁撴灉璇存槑杩愯鎴愬姛

    Flask 鍏ラ棬鍙婅瑙?></p></li> 
  <li> 
   <section class= 璁块棶:http://127.0.0.1:5000/add锛屽氨鍙互鐪嬪埌杩斿洖缁撴灉浜唦~

杩欓噷闇€瑕佹敞鎰忕殑鍦版柟鏄細return 杩斿洖鐨勬槸 str 鏍煎紡锛屽惁鍒欎細鎶ラ敊锛侊紒

4銆佸疄渚?2

涓婅堪鏄竴涓瘮杈冪畝鍗曠殑 Flask 鐨勫啓娉曪紝涓嬮潰缁欏ぇ瀹惰璁插浣曞埄鐢?Flask 鍙戦€?POST/Get 璇锋眰.

  • 鎵撳紑 Pycharm 缂栬緫鍣紝鏂板缓涓€涓?py 鏂囦欢銆傚锛歞emo1.py
from flask import Flask,request,jsonfy#褰撳墠妯″潡瀹炰緥鍖栦竴涓狥lask瀵硅薄app=Flask(__name__)@app.route('/sub1',methods=["post",'get']) #鎺ュ彛绫诲瀷def reduce(): a = request.json.get('a') b = request.json.get('b') final = int(a) - int(b) print(final) return jsonify({"code":1,"msg":"鎴愬姛","result":str(final)})if __name__=="__main__": #濡傛灉鏄粠鏈ā鍧楄繍琛岀殑灏辫繍琛屼笅闈㈢殑 app.run()

濡備笂杩板啓娉曪紝jsonfy 鏄?Flask 涓嬭鍏惰繑鍥炰负 json 鏍煎紡锛?span class="mq-65">姝ゆ椂鎴戜滑鍙?/span>浠ラ€氳繃 PostMan 宸ュ叿杩涜璁块棶~~

5銆佸疄渚?3

鎷撳睍锛?/strong>

褰撴垜浠啓涓€涓帴鍙f椂锛岄拡瀵逛笉鍚岀殑杈撳叆缁撴灉浼氭湁涓嶅悓鐨勮繑鍥炲€硷紝閭?Flask 妗嗘灦涓嬫€庝箞鍏蜂綋鎿嶄綔鍛紵鏉ユ潵鏉~

姣斿涓婅瘔鍐欑殑鍑忔硶鍙兘浼氬嚭鐜扮殑鎯呭喌锛?/p>

1.a=39,b=12 27

2.a=10 ,b 鍙傛暟缂哄け

3.a='abc',b=3 鍙傛暟蹇呴』涓?int

...........绛夌瓑鎯呭喌銆?/p>

from flask import Flask,request,jsonfyapp=Flask(__name__)@app.route('/sub2',methods=["post"]) def reduce(): a = request.json.get('a') b = request.json.get('b') if a is None or b is None: return jsonify({"code":0,"msg":"鍙傛暟缂哄け","result":None}) if not isinstance(a,int) or not isinstance(b,int): return jsonify({"code": 1, "msg": "鍙傛暟蹇呴』涓篒nt绫诲瀷", "result": None}) final = a-b    return jsonify({"code":2,"msg":"鎴愬姛","result":str(final)})if __name__=="__main__"#濡傛灉鏄粠鏈ā鍧楄繍琛岀殑灏辫繍琛屼笅闈㈢殑 app.run()

鍐欏畬鍚庣户缁?POSTMAN 璋冪敤鏌ョ湅鏄惁鎴愬姛锛?/p>

6銆佸疄渚?4

涓嬮潰缁欏ぇ瀹惰璁?Flask 缂栧啓 HTML 缃戦〉銆?/p>

  • 1銆佹柊寤烘枃浠跺す锛?/span> templates[鍥哄畾鍐欐硶]
  • 2銆佹柊寤?login.html[鏀惧湪templates涓璢
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <!-- 鏂?Bootstrap4 鏍稿績 CSS 鏂囦欢 --> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> <title>Title</title></head><body> <h1>鎺ュ彛娴嬭瘯鎶ュ憡<h1> <h2>鎵ц浜猴細{{tester}}<h2> #2涓嫭鍙疯〃绀哄彉閲?/span> <p>鎴愬姛锛歿{pass_NO}}</p> <p>澶辫触锛歿{fail_NO}}</p> <table class="table"> <div class="container"> <tr><td>鐢ㄤ緥鍚嶇О</td><td>鎵ц缁撴灉</td></tr>
{% for item in data %} <tr><td>{{item['case']}}</td><td>{{item['result']}}</td></tr> {% endfor %} </div> </table></body></html>
  • 3銆佺紪鍐?demo3.py
from flask import Flask,request,jsonify,render_templateapp=Flask(__name__)data=[ {'case':'test_sub01','result':"PASS"}, {'case': 'test_sub02', 'result': "FAIL"}, {'case': 'test_sub03', 'result': "PASS"}, {'case': 'test_sub04', 'result': "PASS"}]@app.route('/login')def login(): return render_template('login.html',tester="鍊╁€?,pass_NO=4,fail_NO=1,data=data)if __name__=="__main__": app.run()
璁块棶缃戦〉锛歨ttp://127.0.0.1:5000/login鏌ョ湅缁撴灉
缃戦〉鐨勬牸寮忓彲浠ュ绉嶅鏍凤紝闇€瑕佽嚜宸辨牴鎹渶瑕佽嚜琛屽畾涔夈€傜粰澶у浠嬬粛涓€涓墠绔粍浠跺簱锛? Bootstrap4 
閾炬帴锛歨ttps://www.runoob.com/bootstrap4/bootstrap4-install.html

璧炴垜 馃 璧炴垜 馃 璧炴垜 馃 璧炴垜 馃 璧炴垜 馃 璧炴垜 馃


以上是关于的主要内容,如果未能解决你的问题,请参考以下文章

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数