江湖小白之一起學Python (十)開發視頻網之搭建web框架

開場來個段子:以前不離不棄的叫夫妻,現在不離不棄的是手機,一機在手,天長地久。機不在手,魂都沒有,手機天天不離手!其實古人早已瞭然,並專門設置了一個成語:機不可失!

此機非彼機,電腦在手,天下我有,好了,又到了敲代碼的時間了,今天就開始一步一步來實現利用python+flask開發一個視頻網站,大家有時間可以去搜索下,一般python開發網站用得最多的就是Django了, 我有點嫌棄它不太靈活輕量,所以我選擇了flask來搭建網站,下面我們直奔主題,要使用flask框架我們先得安裝這個庫,在cmd中執行下面的命令:

pip install flask

我用的開發工具還是pycharm,先創建下文件結構目錄,如圖所示:

看不懂?沒關係,我再寫個目錄層級:

|--webvideo          項目名稱

    |--app        app目錄下包含static文件夾、templates文件夾、video文件夾、__init__初始化文件、main主文件

    |--run.py      這個是啓動文件

有的可能就要問了,我看了別人的文章有些就只有一個文件啊,爲什麼怎麼多目錄,正所謂基礎打得好,牆角挖不到,這是爲了後面整體的開發流程及代碼規範做好鋪墊,因爲隨着實現的功能越來越來,代碼越來越多而準備的,總不至於全部寫到一個文件裏吧! 這裏爲了方便裏理解,我還是先貼一下網站啓動的代碼實現:

#coding:utf-8
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_girl():
    return '你好,美女!'

if __name__ == '__main__':
   app.run(host='127.0.0.1', port=5000)

嗯,沒錯,短短几行代碼,就搭建好了一個可以訪問的網站,別人一般都是hello,world開始,看得太膩了,我們換個口味……來,繼續說明一下這幾句是啥意思……

溫故而知新,#coding:utf-8  有事沒事都加上防止解釋器中文引起的報錯:

from flask import Flask    #引入flask庫
app = Flask(__name__)

這個app是Flask的實例,它接收包或者模塊的名字作爲參數,但一般都是傳遞__name__,這裏還有幾個重要的參數:

static_folder默認值爲“static ”,這是存放靜態文件的文件夾,比如圖片,JS,css樣式等靜態文件的地方。

template_folder默認值爲“templates”,這是存放html模板文件的地方,比如index.html。

static_url_path 這個是網頁中訪問資源文件的前綴目錄,這裏默認爲None,簡單的說比如在html中要引入靜態圖片的話,是這樣寫:

上面是默認情況,如果這個static_url_path='’,設置爲空那就這樣了:

嗯,暗藏玄機,不過一般我們不用動的話,這裏都不需要設置,按照它的套路來就可以了,接着繼續:

@app.route('/')     定義路由規則,嗯要具體說嘛這裏的'/'意思就是定義根路徑直接打開網站地址就會到這裏來

def hello_girl(): 這裏是定義一個方法名,你可以隨便取,但要有深意……裏面return就很好理解了,就是返回裏面的漢字輸出到網頁中。

if __name__ == '__main__':    這句這裏還是再說下,判斷是否運行的是主程序,如果是則執行下面的方法,反之則不執行

app.run(host='127.0.0.1', port=5000)  這句顯而易見就是啓動服務,run裏參數默認就是host='127.0.0.1', port=5000,host是ip地址,如果你是本機不用修改,port是端口號默認是5000,如果啓動多個項目的可以設置不同的端口號,裏面還有個屬性debug,如果爲True的話則是開啓debug模式,假如程序報錯會在頁面中顯示錯誤信息,在開發的時候可以設置此模式,比如:

app.run(debug = True,host="127.0.0.1",port=5000)

如果啥都不想弄,你也可以寫成這樣:

app.run()

嗯……上面就說了如何部署一個網站服務,那下面我們就按之前的結構目錄,拆分一下:

1、我們在webvideo下的app文件夾裏的__init__.py文件中寫入:

#coding:utf-8
from flask import Flask
app = Flask(__name__)
from webvideo.app import main    #引入主文件

__init__.py是當前這個文件夾下的初始化文件,當其它地方載入這個文件夾的時候自動就會執行這個文件,webvideo.app表示app文件夾的路徑這裏是個完整路徑,"."表示層級連接,from webvideo.app import main:這句就是調用主文件。

2、main.py   主文件裏寫入執行的代碼:

#coding:utf-8
from webvideo.app import app

@app.route('/')
def hello_girl():
    return '你好,美女!'

from webvideo.app import app就是引入app = Flask(__name__)這個app函數

3、run.py的代碼如下:

#coding:utf-8
from webvideo.app import app

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

至此,通過上面三步就搭建好了一個層級框架,我們運行run.py文件看看:

就是這麼簡單!

準備好框架搭建後,後面我們就要進入利用之前章節的知識點來實現實時抓取播放等功能,敬請期待!

好了,今天就到這裏,江湖不說再見,咱們下篇見!

關注公衆號,發現不一樣的自我

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