python3 Flask -day1

来源:https://www.cnblogs.com/xinbaby2358/archive/2019/01/10/10251692.html
-Advertisement-
Play Games

window 10 python 3 安裝flask 首先打開cmd命令執行視窗切換到Python安裝目錄的Script,輸入pip出現以下頁面 這裡我們使用virtualenv虛擬開發環境 為什麼使用virtualenv? 1、使用不同應用開發環境獨立開發 2、環境升級不影響其他應用,也不會影響全 ...


window 10  python 3 安裝flask

首先打開cmd命令執行視窗切換到Python安裝目錄的Script,輸入pip出現以下頁面

這裡我們使用virtualenv虛擬開發環境

為什麼使用virtualenv?   1、使用不同應用開發環境獨立開發   2、環境升級不影響其他應用,也不會影響全局的Python環境,虛擬環境就是講全局環境做一個私有的複製   3、它可以防止系統中出現包管理混亂和版本的衝突 安裝virtualenv pip install virtualenvwrapper-win  

創建一個虛擬環境 flask-env

pychram 添加 flask  File--Default Settings(預設設置)--Project Interpreter   創建完成後,flask_demo.py是這個項目的主程式
#coding=utf-8
#從flask這個包中導入Flask類,這個類時核心項目
from flask import Flask
#創建一個Flask對象,傳遞__name__參數
#__name__參數作用
#1.可以規定模板和靜態文件的查找路勁
#2.以後一些插件報錯了,可以通過這個參數找到具體的錯誤位置
app=Flask(__name__) #創建一個web運用
#@app.route 是一個裝飾器
#@app.route("/")就是將url中的/映射到hello_world 這個視圖函數上面
#@當你訪問網址/目錄的時候,會執行hello_world函數,然後這個函數的返回值給瀏覽器

@app.route("/") # 定義路由(Views),可以理解為定義頁面的url
def hello_wold():
    return  "這是用Python+Flask 搞出來的" # 渲染頁面
#如果這個文件是作為主文件允許,那麼執行app.run()方法,即啟動網站
#app.run()時flask鐘的一個測試應用伺服器
if __name__ =='__main__':
    app.run(host='127.0.0.1',port=8080,debug=True) # 運行,指定監聽地址為127.0.0.1:8080
View Code

使用pycharm啟動項目:Run-->Run...-->my_flask, 預設啟動的埠是5000,通過瀏覽器訪問http://127.0.0.1:5000,如果我們不想使用預設的5000埠,可以給app.run()傳遞一個port參數,比如8000埠

app.run(host='127.0.0.1',port=8080)

更改綁定地址

預設只綁定了127.0.0.1,如果我們想讓區域網其他電腦也能夠方法,就需要綁定到本機其他ip,我們可以綁定0.0.0.0

if __name__ == '__main__':
    app.run(host='0.0.0.0')

debug模式

在開發過程中,我們需要開啟debug模式,如果出現異常,瀏覽器會顯示錯誤信息及位置,方便開發者調試

開啟debug模式還有個好處就是:當我們修改完代碼,按ctrl + s保存代碼後會自動重啟服務

 開啟debug模式方法1:

在app.run()方法添加參數debug=True

app.run(host='127.0.0.1',port=8080,debug=True) # 運行,指定監聽地址為127.0.0.1:8080

開啟debug模式方法2:

app = Flask(__name__)
app.debug = True

開啟debug模式方法3:

app = Flask(__name__)
app.config.update(DEBUG=True)

開啟debug模式方法4:

在項目下麵單數創建一個配置文件config.py,裡面就可以寫配置信息了,這裡我只需要寫一行

DEBUG=True

然後我們需要在主程式my_flask.py中導入這個config,並且配置使用它來作為配置

import config
...
app.config.from_object(config)
...

如果沒有開啟debug模式,則是單純的顯示內部伺服器錯誤,這樣不利於我們排查

其實還有另外一種方式: 使用app.config.from_pyfile的方式載入配置文件

這種方式不需要import, 直接使用app.config.from_pyfile('config.py')就可以了, 註意這個地方,必須要寫文件全名,尾碼名不能少!

1、這種方式載入配置,不局限於只能使用py文件,普通的txt文件同樣適用

2、這個方式,可以傳遞silent=True,當這個配置文件沒有找到的時候,不會拋出異常

app.config.from_pyfile('config.txt', silent=True)

最後貼上代碼,

#coding=utf-8
#從flask這個包中導入Flask類,這個類時核心項目
from flask import Flask
from MingyAn import config
#創建一個Flask對象,傳遞__name__參數
#__name__參數作用
#1.可以規定模板和靜態文件的查找路勁
#2.以後一些插件報錯了,可以通過這個參數找到具體的錯誤位置
app=Flask(__name__) #創建一個web運用
#@app.route 是一個裝飾器
#@app.route("/")就是將url中的/映射到hello_world 這個視圖函數上面
#@當你訪問網址/目錄的時候,會執行hello_world函數,然後這個函數的返回值給瀏覽器

@app.route("/") # 定義路由(Views),可以理解為定義頁面的url
def hello_wold():

    return  "這是用Python+Flask 搞出來的" # 渲染頁面

    '''
    debug調試錯誤
    a=10
    b=0
    c=a/b
    return  c
    '''

#如果這個文件是作為主文件允許,那麼執行app.run()方法,即啟動網站
#app.run()時flask鐘的一個測試應用伺服器
if __name__ =='__main__':
    app.run(host='127.0.0.1',port=8080) # 運行,指定監聽地址為127.0.0.1:8080

2019-01-1018:32:56

每天進步一點。加油!


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

-Advertisement-
Play Games
更多相關文章
  • 又開始公司的新項目了。。。又到了無聊的切圖時間,沒辦法,拿人錢財替人消災啊 ! 那當我們拿到公司新項目的時候我們需要做些什麼呢? 下麵就來分享一下我的工作步驟吧(僅使用於初學者,大神勿見怪 ,有不好的地方希望指出,十分感謝) 1. 整版瀏覽 這是一個廢話的過程。。。但是缺是必不可少的一步,我也不得不 ...
  • font-size 字型大小大小 一般推薦使用相對長度(px ,em),不推薦使用絕對長度(in,cmm,mm,pt) font-family 字體 1.可以同時指定多個字體,中間用英文狀態的逗號隔開,英文字體一般不需要加引號,中文字體需要添加英文狀態下的引號,當需要設置英文字體時,英文字體必須位於中文 ...
  • 在web網頁中,尤其是某些提交表單操作,需要驗證文本框輸入內容,本文利用文本框鍵盤事件和事件對象,對文本框只允許輸入數字方法進行總結。 1.鍵盤事件 keydown >鍵盤按下事件 keydown的時候,我們所按的鍵並沒有落入文本框 keyup >鍵盤彈起事件 keyup的時候,我們所按的鍵已經落入 ...
  • //查詢圖表數據 function GetData() { var qs = $("#qs").val(); var js = $("#js").val(); $.ajax({ url: '/YCGL_YCYSJLHIS/GetErrorOperate', type: 'GET', data: { ...
  • $('#a')是返回一個jquery對象 $('#a')[0]是一個element對象 document.getElementById('a') return 一個element對象 ...
  • 微信小程式更新以後今天<radio>全部變成垂直排列了,佈局亂了。 一開始嘗試給外層<view>添加display:flex;flex-direction:row;未果。 後來在開發者社區查找,發現是微信更新後的bug,很多線上的項目都受影響了。 解決: 1、在<radio-group>里添加包一個 ...
  • 分析: 外層邊框是瀏覽器邊框,內部盒子是頁面的一個盒子,綠點是盒子中滑鼠的位置。滑鼠相對盒子邊框的坐標=頁面中(註意不是瀏覽器)滑鼠坐標-盒子相對於瀏覽器邊框的偏移量 第一步:求瀏覽器邊框位置 x=element.offsetLeft; y=element.offsetTop; 代碼如下: 第二步: ...
  • 把data裡面需要回顯的欄位,加入一個數組arr,然後用後臺傳過來的json里的數據,迴圈json去判定arr裡面有沒有沒有當前的對象的key,如果有就 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...