Flask之初學者(一)

来源:https://www.cnblogs.com/guyuyun/archive/2018/06/05/9136709.html
-Advertisement-
Play Games

Flask之Hello World 一、Python虛擬環境: 作用:使Python框架的不同版本可以在同一臺電腦上運行。如果在電腦上全局(C盤或者其他目錄)安裝Flask(或其他Python框架),當你使用其他版本的Flask(比如有新版本了!),那有可能這個版本和之前的版本就不相容,你就不能再同 ...


Flask之Hello World


一、Python虛擬環境:

  • 作用:使Python框架的不同版本可以在同一臺電腦上運行。如果在電腦上全局(C盤或者其他目錄)安裝Flask(或其他Python框架),當你使用其他版本的Flask(比如有新版本了!),那有可能這個版本和之前的版本就不相容,你就不能再同一臺電腦上運行不同版本的Flask;
  • 安裝:pip install virtualenv(即“virtual environment”的簡寫);
  • 創建並激活/退出虛擬環境:
  1. mkdir Virtualenv:創建一個目錄用於存放所有的虛擬環境(目錄名可以自定義);
  2. cd Virtualenv:進入創建的Virtualenv目錄;
  3. virtualenv flask-env:使用命令virtualenv(virtualenv此為創建虛擬環境的命令名稱)創建屬於Flask(flask-env為虛擬環境名稱,可以自定義)的虛擬環境;
  4. cd flask-env:進入創建的虛擬環境(即進入該目錄);
  5. cd Scripts:進入Scripts目錄;
  6. activate/deactivate:激活/退出該虛擬環境(激活成功後不再是以盤符開頭,而是以“(flask-env)”虛擬環境的名稱開頭),如圖:

  

二、Flask安裝

  • activate:激活併進入虛擬環境(參考步驟一);
  • pip install flask:在虛擬環境中安裝Flask(不在虛擬環境中安裝,Flask將是全局),安裝好後,此版本的Flask將屬於該虛擬環境(也就是說當有新版本的Flask時可以在另一個虛擬環境中安裝,這樣兩個虛擬環境中的不同版本Flask可以互不幹擾地運行);
  • 在虛擬環境中進入Python,導入Flask,並列印“flask.__version__”,可以看到安裝的flask版本,即安裝成功,如圖:

  

三、Hello World

  在PyCharm中新建一個Flask項目即可(此功能只有專業版的PyCharm才有,社區版的沒有此功能,但Hello World足夠簡單,只有一個py文件,因此不用PyCharm也可以,不用PyCharm時一定註意運行py文件需要用虛擬環境中的Python解釋器),需要註意:①項目名稱的路徑名最好全英文;②解釋器選擇的時候選擇虛擬環境中的“Scripts”目錄下的“python.exe”。如圖:

 

運行以下代碼,並打開瀏覽器訪問http://127.0.0.1:5000/可以看到視圖函數return的字元串“Hello World!”:

 1 # -*- coding: utf-8 -*-
 2 from flask import Flask
 3 
 4 # 實例化一個Flask對象,使用__name__作為參數是,以後Flask的插件出現錯誤,可以方便定位問題
 5 app = Flask(__name__)
 6 
 7 
 8 # 此裝飾器的作用是形成一個URL與視圖函數的映射,app即前面的Flask實例對象
 9 @app.route('/')
10 def hello_world():
11     """視圖函數:返回指定URL下的視圖"""
12     return 'Hello World!'
13 
14 
15 if __name__ == '__main__':
16     app.run()  # 啟動一個應用伺服器,接受用戶請求

 四、debug模式

  使用“app.run(debug=True)”或者在配置文件中設置“DEBUG=True”開啟debug模式(預設是關閉的),項目的debug模式有兩個優點:

  • 當代碼中發生錯誤時,只能在Python控制台看到錯誤信息,但是在網頁上就會顯示“Internal Server Error”,不會顯示具體的錯誤信息,當設置了debug模式後,網頁上就會顯示出對應錯誤的Traceback信息,方便開發人員定位問題;
  • 設置debug模式後,當py文件的代碼中有改變時,只需“Ctrl+S”,程式便會重新載入被改變的文件,並自動重啟伺服器,不要開發人員每次都去手動運行程式。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. 什麼是偽共用 CPU 緩存系統中是以緩存行(cache line)為單位存儲的。目前主流的 CPU Cache 的 Cache Line 大小都是 64 Bytes。在多線程情況下,如果需要修改“共用同一個緩存行的變數”,就會無意中影響彼此的性能,這就是偽共用(False Sharing)。 ...
  • 今天是 Github 嫁入豪門的第 2 天,炒得沸沸揚揚的微軟 Github 收購事件於昨天(06月04日)塵埃落定,微軟最終以 75 億美元正式收購 Github。 隨後,Gitlab 趁勢帶了一波節奏,在其官網上祝賀 Github 被微軟收購,並表示此次收購代表著軟體開發者的影響力的日漸增長,將 ...
  • ​ Web程式開發中最重要的莫過於關係型資料庫,即SQL 資料庫,另外文檔資料庫(如 mongodb)、鍵值對資料庫(如 redis)慢慢變得流行. 原因 : 我們不直接使用這些資料庫引擎提供的 Python 包,而是使用對象關係映射(Object Relational Mapper, ORM)框架 ...
  • LAMP環境搭建的博客,在提交內容的時候TP5框架報了一個錯誤,Call to undefined function imagecreatefrompng(); 出現這個問題一般都是GD庫未正確安裝或配置,在伺服器上查詢是否安裝輸入命令: 原來是沒有安裝GD庫,在centOS系統上安裝GD庫可以直接 ...
  • Java源文件編碼格式不是ANSI時引起的錯誤 & 使用Java包不當引起的錯誤:找不到或無法載入主類,及其解決方法。 ...
  • Java開源生鮮電商平臺-電商促銷業務分析設計與系統架構(源碼可下載) 說明:Java開源生鮮電商平臺-電商促銷業務分析設計與系統架構,列舉的是常見的促銷場景與源代碼下載 左側為享受促銷的資格,常見為這三種: 首單 大於或等於某個會員級別 特定會員組:比如女性,月消費滿1000等等,都是通過查詢條件 ...
  • list 是電腦軟體體系基石. 是數據結構開始和結束. 同樣也是 C 解決複雜問題的跳板. ...
  • 調用得: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...