好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Flask搭建虛擬環境并運行第一個flask程序

Flask搭建虛擬環境并運行第一個flask程序

熱門標簽:315電話機器人廣告 上海機器人外呼系統哪家好 地圖標注的意義點 房產電銷外呼系統 地圖制圖標注位置改變是移位嗎 地圖標注微信發送位置不顯示 蓋州市地圖標注 南京銷售外呼系統軟件 浙江電銷卡外呼系統好用嗎

以下操作均在 windows 環境下進行,我使用的 Python 版本是 3.7.1

一、搭建虛擬環境

1.1 使用 pipenv 搭建虛擬環境

當然也可以使用 virtualenv,但是這個虛擬環境經常安裝不上,這里給大家介紹另一種虛擬環境的安裝方式,我使用的 cmd 命令進行下列的操作

安裝pipenv: pip install pipenv

創建項目運行的目錄: mkdir app

進入該目錄: cd app

安裝環境依賴:pipenv install

進入虛擬環境:pipenv shell


6. 查看當前的 python 包:pip list

1.2 為虛擬環境安裝其他的包

我們要使用 flask,所以使用如下命令即可:pipenv install flask,如果有其他需要,比如安裝 requests, pumysql 等等命令都是和上面一樣的

1.3 pipenv 命令一覽表

命令 功能
pipenv install 初始化虛擬環境
pipennv 進入虛擬環境
pipenv install xxx (uninstall xxx) 為虛擬環境安裝(刪除)包
exit 退出虛擬環境
pipenv graph 查看包之間的依賴關系

二、在開發工具中設置虛擬環境

我使用的開發工具是 Pycharm 社區版的

2.1 查找 虛擬環境的路徑

這里我們要輸入這個命令查看 pipenv 的路徑:pipenv --venv , 我的是安裝在了 如下的位置

 

2.2 在開發工具中配置虛擬環境

然后打開 pycharm 的設置中,找到 setting

然后找到 Python 解釋器,添加虛擬環境,找到我們剛才查到的路徑,添加即可

 

三、第一個 flask 程序

3.1 運行第一個 flask 應用程序

我們只需要三句話就可以實現一個最簡單的 flask 應用程序

#!/usr/bin/python
# -*- coding: utf-8 -*-
#file: app.py
#@author: Gorit
#@contact: gorit@qq.com
#@time: 2020/2/26 9:08

from flask import Flask

app = Flask(__name__) # 實例化 flask , __name__ 會作為 app 核心的一個標識,這個可以為任意的字符串

@app.route('/hello') # 使用路由,給 hello 函數定義一個路由,然后游覽器通過http 請求得到相對應的數據
def hello(): # hello 是視圖函數,也是 mvc 中的 controller
    return "Hello World"

app.run()

然后我們在虛擬環境中,輸入 python app.py ,就可以在 http://127.0.0.1:5000 中啟動我們的 flask 應用程序,但是打開之后發現啥也沒有,這是因為,我們在程序中設置了路由,所以我們要把路徑改成 http://127.0.0.1:5000/hello ,然后就可以在網頁找那個看到 hello world 字符串了

3.2 flask 中路由的重定向機制

還是復用上面的一段代碼,我們做一個小小的變動

from flask import Flask
app = Flask(__name__) 

@app.route('/hello/') # 我們在路由這里多加入一個斜杠
def hello(): 
    return "Hello World"

app.run()

然后我們正常運行

我們把路徑改一下: 127.0.0.1:5000/hello ,然后回車我們發現頁面跳動了一下,就變成了正常的狀態

我們打開 F12 開發者工具,找到 network 選項,我們發現這里產生了兩個網絡請求

經過查閱資料,也就是說,我們輸入 /hello 會被 Python flask 做永久重定向處理

3.3 另一種路由注冊的方式

我們使用 app.route("/hello"),作為訪問的界面,但是我們使用 ctrl + 鼠標左鍵點擊 route,可以查看它的源碼,route 是作為裝飾器被使用的

重點在下面的實現方式,路由的核心實際上是通過設置 add_url_rule(..) 路由規則實現的

所以我們也可以使用另一種方法,設置路由,使用起來也比較容易,第一個參數,設置路徑,第二參數,指定視圖函數,也就是 hello()

from flask import Flask
app = Flask(__name__)

# @app.route('/hello/')
def hello(): 
    return "Hello World"

app.add_url_rule('/hello',view_func=hello)

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

第二種使用的情況一般在基于類的視圖使用比較多,也就是我們使用 面向對象的方式編寫 flask 應用程序

3.4 flask 改變運行方式

app.run() 中有三個參數,我們一起改變

  • 開啟 debug 模式 (這樣flask 就會自動重啟服務器了,不用我們手動重啟服務器)
  • 指定啟動端口 (默認端口是 5000,我們可以手動修改端口了)
  • 改變主機 (默認是 127.0.0.1,如果要掛在服務器上,可以把 host 改成 0.0.0.0,然后關閉防火墻,這樣外網就可以看到了)
from flask import Flask
app = Flask(__name__)

@app.route('/hello')
def hello(): 
    return "Hello World"

if __name__ == '__main__': 
    app.run(host="localhost", debug=True,port=9999)

然后運行 http://localhost:9999/hello

然后就可以看到內容了

3.5 我們想看到 html 標簽要怎么辦呢?

我們嘗試一下把 hello 視圖函數中,返回的內容改成 html 標簽試試看看有效果嗎?

from flask import Flask
app = Flask(__name__)

@app.route('/hello/')
def hello(): 
    return "html>/html>"

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

實際上它什么都不會顯示,這是為什么呢?這是一個請求頭的問題。

Flask 請求頭的內容包括

  • status code
  • content-type http headers

因為請求頭中 content-type 已經指定了值,所以 html 標簽無法像 字符串那樣顯示,這個時候我們就需要改變請求頭的信息,我們可以這么做

from flask import Flask,make_response
app = Flask(__name__)

@app.route('/hello')
def hello():
    # 手動創建 response
    headers = {
        "content-type": "text/html",  # plain 當成普通的字符串,plain 改后才能 html 就可以正常的顯示 html 標簽的內容
    }
    return 'html>body>font color="red">你好,世界/font>/body>/html>', 200, headers

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

ok 這樣就能正常顯示我們的 html 標簽中的內容,但是字體不對,這就是編碼格式的問題了

其他類型的

  • content-type: “text/plain” 將返回的數據當成字符串
  • “content-type”:“application/json” 使用 api, 指定返回 json 格式的數據

 3.6 重定向的妙用

我們可以在 headers 中加入 location 參數,可以是用戶加載某指定路徑的時候,自動跳轉到其他的頁面

from flask import Flask,make_response
app = Flask(__name__)
app.config.from_object('config')

@app.route('/hello')
def hello():
    headers = {
        "content-type": "text/plain",  # plain 當成普通的字符串
        # "content-type":"application/json"  使用 api, 指定返回 json 格式的數據
        "location": "https://www.bing.com"
    }
    # 同樣實現 跳轉效果,控制響應狀態碼
    return 'html>/html>', 301, headers

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

到此這篇關于Flask搭建虛擬環境并運行第一個flask程序的文章就介紹到這了,更多相關Flask搭建環境內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python框架flask入門之環境搭建及開啟調試
  • Flask框架搭建虛擬環境的步驟分析
  • Flask框架的學習指南之開發環境搭建
  • Windows上使用virtualenv搭建Python+Flask開發環境

標簽:克拉瑪依 日照 金華 貴州 赤峰 臨汾 陽泉 雙鴨山

巨人網絡通訊聲明:本文標題《Flask搭建虛擬環境并運行第一個flask程序》,本文關鍵詞  Flask,搭建,虛擬,環境,并,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Flask搭建虛擬環境并運行第一個flask程序》相關的同類信息!
  • 本頁收集關于Flask搭建虛擬環境并運行第一個flask程序的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: Tube????国产APP| 泸水县| 健身教练好大好深bl| 处女劫| 成人AV网站线路一二线路一二| 爱情岛论坛国产福利视频| 健身韵事全文免费阅读| 91??丨PORNY丨成人| 蜜乳AV一区二区三区视频网址| 国精产品999一区二区三区有 | 娇妻被调教高潮视频| 成人AV无遮挡AV视频在线观看| 18禁无遮挡啪啪摇乳动态图,| 美女又爽?又黄?偷拍夜巴黎| 被公侵犯电影bd在线播放| 爽娇妻快高h| 国产精品秘?入口免费视频动图| 国产精品虐乳在线播放| 7m第一福利500精品视频| 男友揉搓奶头高潮H| 国产精品99久久久AV色戒 | 中文字幕人成人乱码亚洲影| 被外卖员cao到爽无删减| 亚洲男人的天堂在线播放| 公与熄大战玥玥| 国产精品熟妇一区二区三区四区| 久久99操| 成a人v欧美综合天堂| 果冻传媒9x视频| 一级a作爱全过程视频| 男人扒开添女人的P免费软件| 俄罗斯四级大尺度无删减电影| 美女搞鸡app| 日日爽| 99插插插| 97人人妻人人澡人人爽国产AV| 免费高清无遮挡床震视频 | 女老板又大又紧水又多| 国产a级特黄的片子视频| 成人网WWW555视频免费看| 亚洲天天综合色制服丝袜在线|