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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...