初識flask

一 什麼是flask?

  Flask是一個Python編寫的Web 微框架,讓咱們可使用Python語言快速實現一個網站或Web服務,在介紹Flask以前首先來聊下它和Django的聯繫以及區別,django個大而全的web框架,它內置許多模塊,flask是一個小而精的輕量級框架,Django功能大而全,Flask只包含基本的配置, Django的一站式解決的思路,能讓開發者不用在開發以前就在選擇應用的基礎設施上花費大量時間。Django有模板,表單,路由,基本的數據庫管理等等內建功能。與之相反,Flask只是一個內核,默認依賴於2個外部庫: Jinja2 模板引擎和 WSGI工具集--Werkzeug , flask的使用特色是基本全部的工具使用都依賴於導入的形式去擴展,flask只保留了web開發的核心功能。css

  WSGI(web服務器網關接口)是python中用來規定web服務器如何與python Web服務器如何與Python Web程序進行溝通的標準,本質上就是一個socket服務端。而 Werkzeug模塊 就是WSGI一個具體的實現html

2 爲何會有flask?

  flask性能上基本知足通常web開發的需求, 而且靈活性以及可擴展性上要優於其餘web框架, 對各類數據庫的契合度都很是高python

  1. 性能基本知足需求web

  2 .靈活性可拓展性強數據庫

  3. 對各類數據庫的契合度都比較高。django

  4.在真實的生產環境下,小項目開發快,大項目設計靈活flask

3 第一個flak程序

3.1 項目目錄詳解

  「static文件夾」用於存放各類靜態文件 css、js、圖片等等服務器

​   「templates文件夾」用於存放html模板文件app

​   「app.py」爲咱們的主文件 ,啓動項目須要啓動該文件框架

 主文件app.py文件代碼

from flask import Flask

# 實例化flask 類獲得一個實例化對象app
app = Flask(__name__)


@app.route('/')  # 用來匹配路由
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()  # 實現了flask程序在開發環境下運行起來,而且

# 默認端口是127.0.0.1:5000

 

 不要用快捷建立flask的方式同樣建立項目,就像建立一個普通的python項目同樣,或者是打開一個空的文件的方式建立,不然debug=True會無效

四種開啓debug的方式

第一種: 

from flask import Flask
app = Flask(__name__)


@app.route('/')
def hello():
    return 'hello world'


if __name__ == '__main__':
    app.run(debug=True)  # debug 設置

 

第二種:

from flask import Flask
app = Flask(__name__)
app.debug = True  # 設置

@app.route('/')
def hello():
    a = [1,2,3,4]
    print(a[4])
    return "hello"

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

 

第三種:

from flask import Flask
app = Flask(__name__)
app.config.update(DEBUG=True)  # 設置

@app.route('/')
def hello():
    a = [1,2,3,4]
    print(a[4])
    return "hello"

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

 

第四種:

須要在app.py所在的目錄裏再建立一個config.py,隨着項目的建立難免會有大量的配置文件,來配置咱們的項目,注意配置的信息通常爲大寫

config.py

DEBUG = True

 

app.py

from flask import Flask
import config  # 導入
app = Flask(__name__)

app.config.from_object(config)  # 設置

@app.route('/')
def hello():
    a = [1,2,3,4]
    print(a[4])
    return "hello"

if __name__ == '__main__':
    app.run()
相關文章
相關標籤/搜索