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

