整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          flask web服務(wù)器:運(yùn)行在云服務(wù)器上的最簡(jiǎn)單的

          flask web服務(wù)器:運(yùn)行在云服務(wù)器上的最簡(jiǎn)單的web服務(wù)器

          期文章我們分享了flask的基礎(chǔ)知識(shí)以及如何安裝flask,當(dāng)你安裝完成flask后,我們就可以打造自己的web服務(wù)器了。

          首先我們打印最簡(jiǎn)單的hello world,并在瀏覽器中顯示

          from flask import Flask
          app=Flask(__name__)
          @app.route('/')
          def index():
              return 'hello flask'
          if __name__=='__main__':
              app.run()

          導(dǎo)入Flask模塊

          新建一個(gè)app,繼承Flask,app是一個(gè)Flask應(yīng)用程序的接口,瀏覽器訪問網(wǎng)頁是從路由入口進(jìn)行訪問

          Flask 建立路由使用@app.route('/')的方式()里面的便是網(wǎng)頁的路由地址(“/”)默認(rèn)是IP地址的最初地址,路由下的函數(shù)便是完整的網(wǎng)頁代碼

          我們實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的web服務(wù)器,返回一個(gè)字符串

          利用app.run()函數(shù)來啟動(dòng)flask web服務(wù)器

          ok,運(yùn)行以上代碼

          * Serving Flask app "flaskweb" (lazy loading)
           * Environment: production
             WARNING: Do not use the development server in a production environment.
             Use a production WSGI server instead.
           * Debug mode: off
           * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

          代碼運(yùn)行后,flask會(huì)提示如上信息,前幾條的意思我們后幾期的文章一一分享,關(guān)鍵是看最后一行信息,我們運(yùn)行在本機(jī)上,flask的默認(rèn)端口是5000,在瀏覽器中輸入以上地址http://127.0.0.1:5000便可以看到我們?cè)O(shè)計(jì)的最簡(jiǎn)單的網(wǎng)頁了


          flask web服務(wù)器

          以上我們便成功運(yùn)行了一個(gè)flask web 服務(wù)器

          當(dāng)然我們很少在瀏覽器中輸入端口號(hào),如何只輸入http://127.0.0.1便可以看到網(wǎng)頁呢?

          其實(shí),http默認(rèn)監(jiān)聽系統(tǒng)的80端口,若我們修改一下flask的默認(rèn)端口為80端口,是否就可以了?

          let's try !!!

          from flask import Flask
          app=Flask(__name__)
          @app.route('/')
          def index():
              return 'hello flask'
          if __name__=='__main__':
              app.run(port=80)

          在app.run(port=80)中輸入port=80 來修改flask的默認(rèn)端口,成功運(yùn)行一下

          flask web服務(wù)器

          可以看到,直接輸入http://127.0.0.1就可以看到我們的網(wǎng)頁了,其實(shí)你在瀏覽上輸入http://127.0.0.1:80地址,瀏覽器也會(huì)自動(dòng)除掉80端口

          瀏覽器的路由

          from flask import Flask
          app=Flask(__name__)
          @app.route('/index')
          def index():
              return 'hello flask'
          if __name__=='__main__':
              app.run(port=80)

          瀏覽器的路由可以幫忙我們?cè)谝粋€(gè)網(wǎng)站地址下面建立不同的網(wǎng)頁

          如上我們?cè)?'/index')輸入瀏覽器路由為/index,顧名思義,當(dāng)我們輸入http://127.0.0.1/index時(shí),便可以訪問網(wǎng)頁

          let's try again

          flask web 服務(wù)器

          flask的網(wǎng)頁

          flask是一個(gè)web服務(wù)器框架,當(dāng)然你完全可以在路由函數(shù)下建立自己的網(wǎng)站,不過前端的小伙伴們可是不愿意在這里搭建自己的網(wǎng)頁,畢竟人家有自己的html5+CSS+JS 全家桶,那么flask是如何打造網(wǎng)頁的呢

          from flask import Flask, render_template
          app=Flask(__name__)
          @app.route('/index')
          def index():
              return 'hello flask'
          @app.route('/url')
          def first_url():
              return render_template('hello.html')

          flask中的render_template便可以返回一個(gè)完整的網(wǎng)頁,看到這里前端的小伙伴們可以放心了,又可以跟自己的html5+CSS+JS 全家桶打交到了,不過我們需要在flask運(yùn)行目錄下建立一個(gè)templates文件夾

          所有的html的網(wǎng)頁都必須放置在這個(gè)文件夾里,以便flask能夠索引。

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Title</title>
          </head>
          <body>
          hello world,hello flask
          </body>
          </html>

          我們?cè)诰W(wǎng)頁里面輸入簡(jiǎn)單的代碼,然后運(yùn)行一下啊

          try again and again

          網(wǎng)頁

          flask成功運(yùn)行!!!

          看到這里,想必小伙伴們也入門了flask,前端方面的知識(shí),小編不在這里 一一介紹,畢竟這也不是 小編的強(qiáng)項(xiàng),我們還依然是人工智能方向的研究所,我們主要使用flask來提供web服務(wù),來達(dá)到我們需要的功能

          最后推薦一下人工智能研究所出品的目標(biāo)追蹤的專欄,喜歡人工智能,目標(biāo)檢測(cè)與目標(biāo)追蹤方向的小伙伴們可以一起探討學(xué)習(xí)

          flask系統(tǒng)性的知識(shí),小伙伴們可以買本自己喜歡的書籍來學(xué)習(xí),小編的文章當(dāng)然也會(huì)介紹一下簡(jiǎn)單的應(yīng)用

          Flask Web開發(fā)實(shí)戰(zhàn):入門、進(jìn)階與原理解析
          ¥103.2
          購(gòu)買
          <script src="http://mp.toutiao.com/mp/agw/mass_profit/pc_product_promotions_js?item_id=6821514931611894280"></script>

          下期預(yù)告:


          還記得我們文章中留下的問題嗎,下期我們一一來解讀一下,并講述一下如何使用域名,而不是 IP地址來訪問網(wǎng)頁

          介:通過Mind+創(chuàng)建一個(gè)Python程序,使用Flask擴(kuò)展庫(kù)構(gòu)建Web服務(wù),手機(jī)、電腦通過瀏覽器遠(yuǎn)程查看USB攝像頭視頻畫面。通過實(shí)驗(yàn),初步了解Flask擴(kuò)展庫(kù)的概念和使用方法。

          此前通過OpenCV庫(kù)在行空板上查看USB攝像頭視頻的實(shí)驗(yàn),我們了解了Mind+進(jìn)行Python編程的兩種模式,了解了Python第三方庫(kù)的概念。現(xiàn)在我們將通過Flask庫(kù)搭建一個(gè)可以遠(yuǎn)程查看行空板攝像頭畫面的Web服務(wù),實(shí)現(xiàn)自制遠(yuǎn)程監(jiān)控。

          1.實(shí)驗(yàn)?zāi)繕?biāo)

          1. 初步了解Flask庫(kù)的概念和用法
          2. 了解Flask的圖形化編程模式
          3. 了解Flask的代碼編程模式

          2.實(shí)驗(yàn)所需資源

          硬件:

          1. 電腦
          2. USB攝像頭
          3. 行空板
          4. 數(shù)據(jù)線

          本文實(shí)驗(yàn)所用的臺(tái)式電腦為Windows7操作系統(tǒng),行空板為V0.3.5版本,數(shù)據(jù)線為Type-C接口。

          軟件:

          • 電腦安裝Mind+軟件(本文實(shí)驗(yàn)所用的Mind+軟件版本為V1.8.0 RC3.1)。
          • Python環(huán)境及Flask、OpenCV庫(kù)為Mind+自帶版本

          3.Flask庫(kù)的概念和特點(diǎn)

          Flask是一個(gè)輕量級(jí)的Python Web框架,它提供了構(gòu)建Web應(yīng)用程序所需的基本工具和庫(kù),設(shè)計(jì)簡(jiǎn)單且易于擴(kuò)展,它具有以下特點(diǎn):

          輕量級(jí)框架: Flask設(shè)計(jì)簡(jiǎn)單且易于理解,適用于快速開發(fā)小型到中型的Web應(yīng)用程序。

          基于Werkzeug和Jinja2: Werkzeug處理底層的HTTP請(qǐng)求和響應(yīng),Jinja2用于生成HTML頁面。

          路由: 使用裝飾器(@app.route)將URL映射到相應(yīng)的處理函數(shù),使得處理HTTP請(qǐng)求變得直觀和簡(jiǎn)單。

          模板引擎: 使用Jinja2模板引擎渲染動(dòng)態(tài)內(nèi)容,允許在HTML中嵌入Python代碼,同時(shí)支持模板繼承和變量替換。

          請(qǐng)求和響應(yīng)處理: 提供了簡(jiǎn)潔的API來訪問請(qǐng)求數(shù)據(jù)(如表單數(shù)據(jù))、設(shè)置響應(yīng)內(nèi)容和狀態(tài)碼,以及處理文件上傳等功能。

          擴(kuò)展性: Flask支持大量的擴(kuò)展,例如處理表單、身份驗(yàn)證、數(shù)據(jù)庫(kù)集成等,使得開發(fā)者可以根據(jù)需求選擇性地添加功能。

          4.Flask庫(kù)的基本用法

          以下是Flask的基本使用步驟,黃色背景文字為示例代碼:

          4.1安裝Flask:

          首先,你需要在你的Python環(huán)境中安裝Flask。可以使用pip命令來進(jìn)行安裝:

          pip install Flask

          4.2創(chuàng)建Flask應(yīng)用實(shí)例:

          在你的Python腳本中,導(dǎo)入Flask類并創(chuàng)建一個(gè)實(shí)例:

          from flask import Flask

          app = Flask(__name__)

          4.3定義路由和視圖函數(shù):

          路由定義了URL到Python函數(shù)的映射。使用@app.route()裝飾器來定義路由,并在其后編寫處理請(qǐng)求的視圖函數(shù)。

          @app.route('/')

          def hello_world():

          return 'Hello, World!'

          4.4運(yùn)行Flask應(yīng)用:

          在程序的最后,調(diào)用app.run()方法來啟動(dòng)Flask的開發(fā)服務(wù)器。默認(rèn)情況下,服務(wù)器會(huì)監(jiān)聽本地的5000端口。設(shè)置 debug=True 可以開啟調(diào)試模式,便于查看和解決問題。

          if __name__ == '__main__':

          app.run(debug=True)

          4.5使用模板(可選):

          Flask支持Jinja2模板引擎,你可以創(chuàng)建HTML模板文件,F(xiàn)lask通過渲染模板來生成動(dòng)態(tài)內(nèi)容。

          • 在項(xiàng)目目錄中創(chuàng)建一個(gè)名為templates的文件夾。
          • 在該文件夾中編寫模板文件,例如index.html。
          • 在視圖函數(shù)中使用render_template()函數(shù)來渲染模板。

          4.6訪問應(yīng)用:

          在瀏覽器中訪問 localhost:5000 (默認(rèn)端口),即可看到 “Hello, World!” 的頁面輸出。

          這些步驟展示了一個(gè)非常基礎(chǔ)的 Flask 應(yīng)用的創(chuàng)建和運(yùn)行過程。隨著應(yīng)用復(fù)雜度的增加,你可以添加更多的路由、視圖函數(shù),使用模板引擎渲染動(dòng)態(tài)內(nèi)容,并集成各種 Flask 擴(kuò)展來增強(qiáng)功能。Flask 的靈活性和簡(jiǎn)單性使得它成為開發(fā) Web 應(yīng)用和 API 的理想選擇。

          5.模塊(圖形化)編程遠(yuǎn)程查看行空板USB攝像頭視頻

          將USB 攝像頭接入行空板,再將行空板數(shù)據(jù)線連接到電腦主機(jī),然后打開Mind+軟件,選擇Python模式。

          5.1在Python模式新建項(xiàng)目,選擇“模塊”模式。

          5.2在官方擴(kuò)展庫(kù)添加“行空板”。

          5.3在用戶擴(kuò)展庫(kù)添加Flask庫(kù)。

          如果用戶庫(kù)沒有顯示“Flask”庫(kù),可以在搜索欄輸入“ext”進(jìn)行搜索添加。

          5.4完成添加后,點(diǎn)擊“連接遠(yuǎn)程終端”連接行空板。

          5.5按下列順序添加Flask模塊到Python主程序

          此處為方便演示,程序每次運(yùn)行都會(huì)自動(dòng)生成一次html網(wǎng)頁文件,在實(shí)際應(yīng)用中,網(wǎng)頁應(yīng)該單獨(dú)編輯,F(xiàn)lask僅需要向網(wǎng)頁模板中添加數(shù)據(jù)就行。另外,在網(wǎng)頁路由標(biāo)簽中,此處為空,意思是訪問根目錄,也就是類似“http://localhost:5000/”的網(wǎng)址。如果此處添加標(biāo)簽,那么訪問網(wǎng)頁的時(shí)候就需要在上述網(wǎng)址后面增加標(biāo)簽名稱。如本例中自動(dòng)生成代碼中可以看到攝像頭頁面的標(biāo)簽為“/video_feed”,所以直接訪問攝像頭畫面的網(wǎng)址為:http://localhost:5000/video_feed。

          5.6點(diǎn)擊“運(yùn)行”按鈕將程序上傳到行空板

          注意查看“終端信息輸出區(qū)”的上傳和運(yùn)行情況。Flask服務(wù)啟動(dòng)后,連接同一網(wǎng)絡(luò)的電腦和手機(jī)等終端設(shè)備即可通過瀏覽器訪問這個(gè)Flask服務(wù)。如果把該服務(wù)映射到外網(wǎng)固定IP,那么理論上,連接互聯(lián)網(wǎng)的設(shè)備都可以訪問該服務(wù),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。

          上面是電腦訪問http://10.1.2.3:8000/的演示效果,這里的網(wǎng)址還可以是分配給行空板的其他網(wǎng)址,每個(gè)人局域網(wǎng)情況不一樣,包括網(wǎng)段設(shè)置,防火墻設(shè)置都有區(qū)別。所以如果除了10.1.2.3,其他地址訪問不了的話,需要檢查一下你的整個(gè)網(wǎng)絡(luò)的設(shè)置問題。下圖是查看行空板IP地址的方法:

          為了方便演示,手機(jī)無線訪問的方式也是通過手機(jī)直連行空板熱點(diǎn),然后訪問192.168.123.1:8000來進(jìn)行查看。

          實(shí)際動(dòng)手嘗試的朋友可能會(huì)發(fā)現(xiàn),視頻畫面是倒的,需要翻轉(zhuǎn)攝像頭才能顯示正的畫面。還有就是網(wǎng)頁的內(nèi)容不夠豐富和靈活,還有Flask服務(wù)器啟動(dòng)的參數(shù)不能靈活設(shè)置。等等這些問題都屬于模塊化編程特有的局限性,因?yàn)槟K已經(jīng)被封裝,底層的代碼難以直接修改,所以功能不夠靈活。下面會(huì)演示用代碼模式實(shí)現(xiàn)同樣的功能,雖然需要一定的Python和Flask庫(kù)的學(xué)習(xí)成本,但是對(duì)于想實(shí)現(xiàn)復(fù)雜功能和靈活編程的開發(fā)者來說,這是很有必要的。

          6.代碼模式編程遠(yuǎn)程查看行空板USB攝像頭視頻

          6.1在Python模式新建項(xiàng)目,選擇“代碼”模式。

          6.2打開“文件系統(tǒng)”,在“項(xiàng)目中的文件”新建一個(gè)templates文件夾(用于存放html網(wǎng)頁模板),文件夾中新建一個(gè)index.html文件。然后在根目錄下新建一個(gè)app.py文件。

          6.3通過“庫(kù)管理”PIP模式安裝Flask庫(kù)。

          同時(shí)檢查OpenCV庫(kù)有沒有安裝,如果未安裝,須同時(shí)安裝OpenCV庫(kù)。

          6.4雙擊打開index.html文件輸入代碼

          <!DOCTYPE html>  <!-- 聲明文檔類型為HTML5 -->
          <html lang="en">  <!-- 設(shè)置頁面語言為英文 -->
          <head>  <!-- 頁面頭部信息 -->
              <meta charset="UTF-8">  <!-- 設(shè)置頁面字符編碼為UTF-8 -->
              <meta name="viewport" content="width=device-width, initial-scale=1.0">  <!-- 設(shè)置頁面視口寬度為設(shè)備寬度,初始縮放比例為1 -->
             <title>攝像頭視頻流</title>  <!-- 設(shè)置頁面標(biāo)題為“攝像頭視頻流” -->
          </head>
          <body>  <!-- 頁面主體內(nèi)容 -->
              <h1>攝像頭視頻流</h1>  <!-- 顯示標(biāo)題“攝像頭視頻流” -->
              <img src="{{ url_for('video_feed') }}" alt="攝像頭視頻流">  <!-- 顯示攝像頭視頻流圖片,src屬性值為通過url_for函數(shù)生成的視頻流URL,alt屬性值為“攝像頭視頻流” -->
          </body>
          </html>

          6.5雙擊打開app.py文件輸入代碼

          import cv2  # 導(dǎo)入OpenCV庫(kù)
          from flask import Flask, render_template, Response  # 導(dǎo)入Flask庫(kù)的相關(guān)模塊
          app = Flask(__name__)  # 創(chuàng)建一個(gè)Flask應(yīng)用實(shí)例
          cap = cv2.VideoCapture(0)  # 創(chuàng)建一個(gè)攝像頭對(duì)象,0表示默認(rèn)攝像頭
          if not cap.isOpened():  # 檢查攝像頭是否成功打開
              print("攝像頭未成功打開,請(qǐng)檢查攝像頭連接情況")
          def gen_frames():  # 定義一個(gè)生成幀的函數(shù)
              while cap.isOpened():  # 當(dāng)攝像頭打開時(shí)
                  success, frame = cap.read()  # 讀取攝像頭的一幀畫面
                  if not success:  # 如果讀取失敗
                      print('攝像頭畫面讀取失敗')  # 打印錯(cuò)誤信息
                      break  # 跳出循環(huán)
                  else:  # 如果讀取成功
                      ret, buffer = cv2.imencode('.jpg', frame)  # 將畫面編碼為JPEG格式
                      frame = buffer.tobytes()  # 將編碼后的畫面轉(zhuǎn)換為字節(jié)流
                      yield (b'--frame\r\n'  # 生成multipart/x-mixed-replace數(shù)據(jù)流的分隔符
                             b'Content-Type: image/jpeg\r\n\r\n'  # 設(shè)置內(nèi)容類型為JPEG圖片
                             + frame + b'\r\n')  # 添加幀數(shù)據(jù)
          @app.route('/')  # 定義根路由
          def index():
              return render_template('index.html')  # 渲染并返回index.html模板
          @app.route('/video_feed')  # 定義視頻流路由
          def video_feed():
              return Response(gen_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')  # 返回視頻流數(shù)據(jù)
          if __name__ == '__main__':  # 當(dāng)腳本作為主程序運(yùn)行時(shí)
              app.run(host='0.0.0.0', port=8000)  # 啟動(dòng)Flask應(yīng)用,監(jiān)聽所有網(wǎng)絡(luò)接口,端口為8000

          6.6連接行空板并運(yùn)行程序

          效果和圖形化模式完全一致,并且不存在視頻畫面倒置,網(wǎng)頁重復(fù)生成,F(xiàn)lask服務(wù)器運(yùn)行參數(shù)不能靈活設(shè)置的問題。

          通過一個(gè)簡(jiǎn)單的實(shí)例,我們展示了如何快速搭建一個(gè)Web服務(wù)器,響應(yīng)客戶端請(qǐng)求,并動(dòng)態(tài)生成內(nèi)容。對(duì)于希望進(jìn)入Web開發(fā)領(lǐng)域或是尋求輕量級(jí)解決方案的開發(fā)者來說,F(xiàn)lask無疑是一個(gè)值得深入探索的框架。

          期文章我們分享了flask的基礎(chǔ)知識(shí)以及如何安裝flask,當(dāng)你安裝完成flask后,我們就可以打造自己的web服務(wù)器了。

          首先我們打印最簡(jiǎn)單的hello world,并在瀏覽器中顯示

          from flask import Flask
          app=Flask(__name__)
          @app.route('/')
          def index():
              return 'hello flask'
          if __name__=='__main__':
              app.run()

          導(dǎo)入Flask模塊

          新建一個(gè)app,繼承Flask,app是一個(gè)Flask應(yīng)用程序的接口,瀏覽器訪問網(wǎng)頁是從路由入口進(jìn)行訪問

          Flask 建立路由使用@app.route('/')的方式()里面的便是網(wǎng)頁的路由地址(“/”)默認(rèn)是IP地址的最初地址,路由下的函數(shù)便是完整的網(wǎng)頁代碼

          我們實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的web服務(wù)器,返回一個(gè)字符串

          利用app.run()函數(shù)來啟動(dòng)flask web服務(wù)器

          ok,運(yùn)行以上代碼

          * Serving Flask app "flaskweb" (lazy loading)
           * Environment: production
             WARNING: Do not use the development server in a production environment.
             Use a production WSGI server instead.
           * Debug mode: off
           * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

          代碼運(yùn)行后,flask會(huì)提示如上信息,前幾條的意思我們后幾期的文章一一分享,關(guān)鍵是看最后一行信息,我們運(yùn)行在本機(jī)上,flask的默認(rèn)端口是5000,在瀏覽器中輸入以上地址http://127.0.0.1:5000便可以看到我們?cè)O(shè)計(jì)的最簡(jiǎn)單的網(wǎng)頁了


          flask web服務(wù)器

          以上我們便成功運(yùn)行了一個(gè)flask web 服務(wù)器

          當(dāng)然我們很少在瀏覽器中輸入端口號(hào),如何只輸入http://127.0.0.1便可以看到網(wǎng)頁呢?

          其實(shí),http默認(rèn)監(jiān)聽系統(tǒng)的80端口,若我們修改一下flask的默認(rèn)端口為80端口,是否就可以了?

          let's try !!!

          from flask import Flask
          app=Flask(__name__)
          @app.route('/')
          def index():
              return 'hello flask'
          if __name__=='__main__':
              app.run(port=80)

          在app.run(port=80)中輸入port=80 來修改flask的默認(rèn)端口,成功運(yùn)行一下

          flask web服務(wù)器

          可以看到,直接輸入http://127.0.0.1就可以看到我們的網(wǎng)頁了,其實(shí)你在瀏覽上輸入http://127.0.0.1:80地址,瀏覽器也會(huì)自動(dòng)除掉80端口

          瀏覽器的路由

          from flask import Flask
          app=Flask(__name__)
          @app.route('/index')
          def index():
              return 'hello flask'
          if __name__=='__main__':
              app.run(port=80)

          瀏覽器的路由可以幫忙我們?cè)谝粋€(gè)網(wǎng)站地址下面建立不同的網(wǎng)頁

          如上我們?cè)?'/index')輸入瀏覽器路由為/index,顧名思義,當(dāng)我們輸入http://127.0.0.1/index時(shí),便可以訪問網(wǎng)頁

          let's try again

          flask web 服務(wù)器

          flask的網(wǎng)頁

          flask是一個(gè)web服務(wù)器框架,當(dāng)然你完全可以在路由函數(shù)下建立自己的網(wǎng)站,不過前端的小伙伴們可是不愿意在這里搭建自己的網(wǎng)頁,畢竟人家有自己的html5+CSS+JS 全家桶,那么flask是如何打造網(wǎng)頁的呢

          from flask import Flask, render_template
          app=Flask(__name__)
          @app.route('/index')
          def index():
              return 'hello flask'
          @app.route('/url')
          def first_url():
              return render_template('hello.html')

          flask中的render_template便可以返回一個(gè)完整的網(wǎng)頁,看到這里前端的小伙伴們可以放心了,又可以跟自己的html5+CSS+JS 全家桶打交到了,不過我們需要在flask運(yùn)行目錄下建立一個(gè)templates文件夾

          所有的html的網(wǎng)頁都必須放置在這個(gè)文件夾里,以便flask能夠索引。

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Title</title>
          </head>
          <body>
          hello world,hello flask
          </body>
          </html>

          我們?cè)诰W(wǎng)頁里面輸入簡(jiǎn)單的代碼,然后運(yùn)行一下啊

          try again and again

          網(wǎng)頁

          flask成功運(yùn)行!!!

          看到這里,想必小伙伴們也入門了flask,前端方面的知識(shí),小編不在這里 一一介紹,畢竟這也不是 小編的強(qiáng)項(xiàng),我們還依然是人工智能方向的研究所,我們主要使用flask來提供web服務(wù),來達(dá)到我們需要的功能

          最后推薦一下人工智能研究所出品的目標(biāo)追蹤的專欄,喜歡人工智能,目標(biāo)檢測(cè)與目標(biāo)追蹤方向的小伙伴們可以一起探討學(xué)習(xí)

          flask系統(tǒng)性的知識(shí),小伙伴們可以買本自己喜歡的書籍來學(xué)習(xí),小編的文章當(dāng)然也會(huì)介紹一下簡(jiǎn)單的應(yīng)用

          Flask Web開發(fā)實(shí)戰(zhàn):入門、進(jìn)階與原理解析
          ¥103.2
          購(gòu)買
          <script src="http://mp.toutiao.com/mp/agw/mass_profit/pc_product_promotions_js?item_id=6821514932614332942"></script>

          下期預(yù)告:


          還記得我們文章中留下的問題嗎,下期我們一一來解讀一下,并講述一下如何使用域名,而不是 IP地址來訪問網(wǎng)頁


          主站蜘蛛池模板: 蜜臀AV无码一区二区三区| 精品少妇人妻AV一区二区| 亚洲国产精品一区二区三区在线观看 | 无码中文字幕乱码一区| 日韩精品乱码AV一区二区| 精品国产免费观看一区| 国内精品一区二区三区最新| 久久精品国产一区二区三区日韩| 无码人妻AⅤ一区二区三区| 精品无人区一区二区三区在线| 精品免费国产一区二区| 精品无码国产一区二区三区51安| 亚洲av无码一区二区三区在线播放 | 国产精品主播一区二区| 日韩精品一区二区三区视频| 精品一区二区三区无码免费直播| 无码少妇一区二区浪潮av| 国产精品xxxx国产喷水亚洲国产精品无码久久一区| 亚洲国产老鸭窝一区二区三区| 久久高清一区二区三区| 国产精品高清一区二区三区不卡| 国产精品视频免费一区二区三区| 波多野结衣久久一区二区| 香蕉久久ac一区二区三区| 精品日韩一区二区| 国产综合精品一区二区三区| 无码人妻一区二区三区在线| 中文字幕AV一区二区三区人妻少妇| 一色一伦一区二区三区| 无码av不卡一区二区三区| 精品国产亚洲一区二区三区 | 一区二区三区在线看| 亚洲色婷婷一区二区三区| 日本精品无码一区二区三区久久久| 久久久久久一区国产精品| 成人精品一区久久久久| 白丝爆浆18禁一区二区三区| 免费无码AV一区二区| 中文人妻av高清一区二区| 狠狠色婷婷久久一区二区三区| 精品人妻一区二区三区四区 |