Flask項(xiàng)目搭建配置項(xiàng)導(dǎo)入教程
引言
這一篇開始介紹 Flask
系列筆記,這個(gè)系列筆記將和之前的 Django
筆記一樣會(huì)從 Flask
的官方文檔中提取一系列的知識(shí)點(diǎn),整理成系列筆記。
這是 Flask 系列筆記的第一篇,本篇筆記介紹的是 Flask 項(xiàng)目的搭建以及配置項(xiàng)的導(dǎo)入,我們用到的 Python 的版本還是 3.8,用到的 Flask 的版本是 2.3.2。
pip3 install flask==2.3.2
接下來我們這里用 Pycharm
創(chuàng)建一個(gè)項(xiàng)目,我們命名為 flask_blog
,在其下文件夾為 app
,其下再創(chuàng)建一個(gè) __init__.py
文件,當(dāng)前的文件結(jié)構(gòu)如下:
flask_blog └── app └── __init__.py
以下是我們本篇筆記目錄:
- 運(yùn)行 Flask
- Flask 獲取配置
- 區(qū)分開發(fā)環(huán)境和生產(chǎn)環(huán)境變量
1、運(yùn)行 Flask
在 __init__.py
中,我們寫入以下代碼:
from flask import Flask def create_app(): app = Flask(__name__) @app.route("/") def hello(): return "<h1>hello world</h1>" return app
然后在 flask_blog/ 文件夾下執(zhí)行下面的命令,運(yùn)行 Flask:
flask run
看到輸出下面的輸出就說明項(xiàng)目已經(jīng)啟動(dòng)起來了:
... * Running on http://127.0.0.1:5000/ Press CTRL+C to quit
然后訪問服務(wù)器 5000 端口就可以看到返回內(nèi)容了。
在這里我們使用 @app.route()
指定路由,然后直接 return 一個(gè) html 文本,我們?cè)跒g覽器訪問的時(shí)候就會(huì)自動(dòng)渲染。
指定端口
不指定的話,F(xiàn)lask 運(yùn)行自動(dòng)使用 5000 端口,如果要指定其他端口,使用 --port 參數(shù)指定。
flask run --port=9898
允許其他地址訪問
如果希望其他服務(wù)器訪問的話,加上 --host=0.0.0.0
debug模式
如果是在開發(fā)階段,可以加上 --debug
參數(shù),會(huì)自動(dòng)檢測(cè)系統(tǒng)代碼變化然后重啟系統(tǒng)。
2、Flask 獲取配置
Flask 獲取配置信息有幾種方式,一種是從文件中獲取,一種是從定義好的 dict 里獲取。
從文件中獲取配置
從文件里獲取提供了幾種方式:
app.config.from_object("app.config") app.config.from_pyfile("./config.py")
我們?cè)?app/ 文件夾下創(chuàng)建了一個(gè) config.py 文件,其內(nèi)容如下:
ABC = "123"
在執(zhí)行完 from_object 或者 from_pyfile 操作之后,可以通過下面的操作獲取到這些配置信息:
app.config.get("ABC")
從 dict 中獲取配置
除了從文件中獲取,我們還可以使用 from_mapping() 函數(shù),將需要寫入的配置放到 dict 里:
app.config.from_mapping({ "ABC": "123" })
注意:我們從文件中或者從 dict 中獲取的變量名稱都應(yīng)該是大寫的,否則系統(tǒng)不會(huì)讀入。
3、區(qū)分開發(fā)環(huán)境和生產(chǎn)環(huán)境變量
在實(shí)際開發(fā)中,我們可能需要區(qū)分開發(fā)環(huán)境和生產(chǎn)環(huán)境,并且根據(jù)不同的環(huán)境讀取不同的環(huán)境變量,就這個(gè)問題,這里提供一個(gè)方案
在 app/
文件夾下,創(chuàng)建一個(gè) config/
文件夾,在 config/
文件夾下創(chuàng)建三個(gè)文件:config.py
,production.py
,development.py
。
config ├── config.py ├── development.py └── production.py
config.py 的內(nèi)容如下:
import os if os.getenv("FLASK_ENV") == "production": from .production import * else: from .development import *
根據(jù)當(dāng)前環(huán)境設(shè)置的 FLASK_ENV
是否為 production
來判斷并選擇加載對(duì)應(yīng)的變量文件。
在 app/__init__.py
中還是正常加載 app.config.config
即可:
app.config.from_object("app.config.config")
以上就是Flask項(xiàng)目搭建配置項(xiàng)導(dǎo)入教程的詳細(xì)內(nèi)容,更多關(guān)于Flask項(xiàng)目搭建配置項(xiàng)導(dǎo)入的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python使用循環(huán)神經(jīng)網(wǎng)絡(luò)解決文本分類問題的方法詳解
這篇文章主要介紹了Python使用循環(huán)神經(jīng)網(wǎng)絡(luò)解決文本分類問題的方法,結(jié)合實(shí)例形式詳細(xì)分析了Python神經(jīng)網(wǎng)絡(luò)相關(guān)概念、原理及解決文本分類具體操作技巧,需要的朋友可以參考下2020-01-01基于Matplotlib?調(diào)用?pyplot?模塊中?figure()?函數(shù)處理?figure圖形對(duì)象
這篇文章主要介紹了基于Matplotlib?調(diào)用?pyplot?模塊中?figure()?函數(shù)處理?figure圖形對(duì)象,matplotlib.pyplot模塊能夠快速地生成圖像,但如果使用面向?qū)ο蟮木幊趟枷耄覀兙涂梢愿玫乜刂坪妥远x圖像,下面就來詳細(xì)介紹其內(nèi)容,需要的朋友可以參考下2022-02-02numpy矩陣乘法中的multiply,matmul和dot的使用
本文主要介紹了numpy矩陣乘法中的multiply,matmul和dot的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Django?logging日志模塊實(shí)例詳解(日志記錄模板配置)
Django使用python自帶的logging作為日志打印工具,下面這篇文章主要給大家介紹了Django?logging日志模塊(日志記錄模板配置)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08python實(shí)現(xiàn)自冪數(shù)的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)自冪數(shù)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Python實(shí)現(xiàn)發(fā)送QQ郵件的封裝
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)發(fā)送QQ郵件的具體代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07