初識flask--啓動flask項目與基本配置

1. 第一個flask項目,使用pycharm新建一個flask項目

在這裏插入圖片描述
然後點擊create按鈕,就成功的創建好了一個flask項目。然後我們點擊運行按鈕,在網頁中輸入http://127.0.0.1:5000/就能夠看到我們的hello world了表示我們項目新建成功,並且沒有任何問題。

2. 項目文件解析

當我們新建好了一個文件之後,整個項目的目錄結構如下:

在這裏插入圖片描述

  1. static:這個文件裏面一般存放整個項目的所有靜態文件,如css,js等文件
  2. templates: 這個文件夾裏面一般存放所有模板文件,也就是html文件.
  3. app.py:整個項目的入口文件

3. apps.py文件代碼解釋

# 從flask框架中導入Flask類
from flask import Flask

# 實例化Flask對象,__name__ 是這個文件的名字,因爲我們
# 這個文件的名字爲app.py,所以__name__的值爲"app"
app = Flask(__name__)

# app.route() 一個裝飾器,傳入的參數就爲當前視圖的url
# 當我們運行flask項目時,默認爲打開5000端口,我們通
# 過http://127.0.0.1:5000端口就能訪問到我們啓動的項目,
# 這裏傳入的是"/",我們直接輸入http://127.0.0.1:5000/就能訪問到這個函數(也稱視圖)
# 如果傳入的是"/test/",那麼我們訪問這個函數的時候的url就爲http://127.0.0.1:8000/test/了
@app.route('/')
# 函數主體 
def hello_world():
    return 'Hello World!'

# 如果這個文件不是當做一個模塊被導入時,就會執行這個裏面的代碼
if __name__ == '__main__':
    # 啓動項目
    app.run()

4. 項目配置

1. DEBUG模式

flask項目默認的DEBUG模式是關閉的,一般我們在開發的時候需要打開DEBUG模式。

怎樣代開DEBUG模式

當我們沒有打開DEBUG模式的時候,運行項目之後控制檯是這樣的
在這裏插入圖片描述
在pycharm2018版本及以上中,已經不能通過代碼來打開和關閉DEBUG模式了,知識使用pycharm來打開和關閉DEBUG模式

在這裏插入圖片描述
在這裏插入圖片描述
這樣,我們就打開我們的DEBUG模式了.然後我們運行項目,就能夠看到DEBUG模式已經被打開了
在這裏插入圖片描述

打開DEBUG模式的優點

  1. 當我們更新了代碼之後,按下ctrl+s之後,整個flask項目就會自己重新啓動,加載我們修改的代碼
  2. 當我們沒有開啓DEBUG模式的時候,如果我們寫的代碼出錯了,那麼在網頁是不會顯示出來的,需要我們自己去控制檯查看錯誤。網頁上只會顯示一個錯誤的頁面給我們。爲了演示效果,首先我們修改一個錯誤出來,在app.py文件中的hello_world函數中我們修改代碼:
@app.route('/')
# 函數主體
def hello_world():
    a = 1
    b = 0
    c = a/b
    return 'Hello World!'

然後我們啓動項目,在瀏覽器中輸入127.0.0.1:5000,然後就會加載這個hello_world函數,但是因爲0是不能被除的,所肯定會報錯的。網頁上就會顯示如下頁面
在這裏插入圖片描述
出現這樣的頁面肯定不是我們希望看到的,我們想要看到的具體的錯誤之類的東西,而當我們打開DEBUG之後,我們就能夠看到具體的錯誤信息了。如下圖所示
在這裏插入圖片描述
這樣,我們就能看到具體的錯誤與錯誤的行數了.

在每行錯誤代碼提示的右邊,我們可以看到有一個小終端樣式的圖表,而且可以點擊,這個是給我們用來調試代碼的,方便我們查找錯誤和定位錯誤

我們點擊這個小終端圖標,就會彈出一個模態對話框,讓我們輸入密碼,如下圖:
在這裏插入圖片描述
這個PIN在我們的pycharm控制檯中可以看到
在這裏插入圖片描述
然後我們將這個PIN輸入進去,就可以開始調試了,PIN中間的-是可以省略的

然後我們就可以開始調試了
在這裏插入圖片描述

打開DEBUG的缺點
容易被別人看到我們的代碼漏洞,從而惡意攻擊我們的網站,所以我們在生產環境下降DEBUG模式打開,便於我們調試代碼,而部署項目到線上時,就需要關閉DEBUG模式,保證我們網站的安全性

2. 域名與端口的配置

和配置DEBUG一樣,首先打開Edit Configuration 界面

  1. 配置端口爲8000,默認爲5000端口。
    在這裏插入圖片描述
  2. 配置域名爲0.0.0.0,默認是127.0.0.1
    在這裏插入圖片描述
    配置域名爲0.0.0.0的意思是別人的電腦也能訪問你的這個flask項目,只需要別人輸入你的電腦的ip地址和相應端口號就能夠訪問了,而127.0.0.1就只能自己電腦訪問這個項目。
    當配置域名爲0.0.0.0之後,想要別人能夠訪問你的項目,還必須得打開防火牆,打開防火牆,打開防火牆!!!
  3. 域名和端口一起配置 在這裏插入圖片描述
    注意:
  • port和host前面必須爲兩個--,少一個都不行,會報錯
  • –port和–host一起配置時,中間需要由空格,如果沒有的話,也會報錯
  • 在pycharm2018版本及以後,是不能通過代碼的方式修改域名與端口的,所以本文並沒有列出相關的配置方法。想了解的可自行百度 瞭解
3. 項目的其他配置

在整個項目中,後面們使用一些東西的時候都避免不了做一些相關的配置,所以我們一把會單獨新建一個configs.p文件,用來存放所有的配置信息.如圖所示
在這裏插入圖片描述
然後我們會將相關的配置信息寫在這個文件裏面,然後再app.py文件中導入引用,寫入以下代碼就能夠導入配置文件了,配置文件的格式就是xxx=xxx

from flask import Flask
import configs
app = Flask(__name__)
app.config.from_object(configs)

我們也可以使用另外一種方法導入配置文件

# 從flask框架中導入Flask類
from flask import Flask
# import configs
app = Flask(__name__)
# app.config.from_object(configs)
app.config.from_pyfile('configs.py')

這樣,我們就不用導入configs模塊了,直接在app.config.from_pyfile中傳入參數,即文件的名字就可以了

這個函數還有一個silent參數,默認爲False,意思就是當傳入的參數這個文件找不到的時候,會終止程序,拋出異常。當我們設置silent參數爲True時,當找不到這個文件的時候,也不會終止程序,還是會直接運行,只是flask項目並不會去加載我們的配置文件了。所以一把我們就默認爲False就行了。

其實app.config是一個字典對象,我們也可以直接添加配置信息,不寫在configs.py文件中,例如:

# 從flask框架中導入Flask類
from flask import Flask
# import configs
app = Flask(__name__)
# app.config.from_object(configs)
# app.config.from_pyfile('configs.py')
app.config['xxx'] = 'xxx'

這樣也是可以的,值是這樣的話當配置信息很多時,就需要寫很多代碼,不方便,所以一般我們都會寫在配置文件中,然後導入.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章