flask是乙個基於python的web框架,它的設計目的是提供web開發所需的最小功能子集。
flask與別的框架(尤其是採用其他程式語言的框架)的不同之處在於:它沒有繫結諸如資料庫查詢或者表單處理等功能庫,以及它們所組成的整個生態系統。它傾向於對這些功能的實現方式不做任何限定。
這種系統帶來的主要好處是:開發者能夠使用他們想用的任何方式和工具,去設計他們的應用架構。另外,對於一些常見的通用功能,flask沒有以某種特定方式去實現,這意味著在flask中,對標準庫的使用會比其他框架裡多,這保證了通用功能的穩定性及針對其他python程式設計師的可讀性。由於flask社群十分龐大,所以該社群提供的新增通用功能的方式非常多。所以通過本系列教程,了解它們如何幫助我們避免重複造輪子。這些擴充套件的妙處在於,如果不需要那些額外的功能,就不用引入它們,這樣我們的應用才會保持簡潔、輕量。
這種系統的最大弊端是,大部分新的flask使用者不知道如何正確地規劃大型應用的結構,最後弄出一大堆讓人難以理解和維護的**。所以本教程另乙個重點是如何為flask應用建立模型/檢視/控制器(mvc)架構。
mvc體系在最初被發明時,主要用來設計桌面應用的使用者介面。它將資料處理(model),互動邏輯(controller)和使用者介面(view)隔離成三層不同的元件。
這三層元件的隔離,使得程式設計師不用為每個網頁重新實現一遍相同的功能,而是只要重用那些**。比如,若是沒有把處理資料的**拆分到單獨的函式中,那麼我們不得不在每個頁面的渲染函式裡,把同樣的資料庫連線**和sql查詢**都寫一遍。
我們將使用git做為版本控制軟體,開發環境為ubuntu.python版本為3.4.3
安裝flask
使用pip安裝,由於是在python3環境中,所以使用pip3.
pip3 install flask
使用git做版本管理
建立工程目錄
mkdir flask_tutorials
切換到工程目錄
cd flash_tutorilas
初始化版本庫
git init
建立版本庫過濾檔案
touch .gitignore
向.gitignore檔案中寫入以下內容,過濾env目錄,python的編譯檔案:
cat .gitignore
env/
*.pyc
開始我們的專案
config.py:
class config(object):
pass
class prodconfig(config):
pass
class devconfig(config):
debug = true
main.py:
from flask import flask
from config import devconfig
提交我們的**
git add --all
git commit -m "your comment"
啟動web服務
zhangxa@ubuntu:~/python/flask_tutorials$ python3 main.py
* running on (press ctrl+c to quit)
* restarting with stat
* debugger is active!
* debugger pin code: 267-148-615
使用flask-script
flask有眾多擴充套件,我們將首先使用flask script擴充套件。使用它可以建立命令,並在flask的應用上下文中執行,因為這樣才能對flask物件進行修改。
flask script自帶了一些預設的命令,可以執行伺服器或者開啟帶應用上下文的python命令列。
安裝pip3 install flask-script
使用先建立乙個簡單的manage.py指令碼。
manage.py:
首先,匯入flask script物件,**如下:
現在我們來新增一些命令。這裡執行的伺服器跟通過main.py執行的普通開發伺服器是一樣的。make_shell_context函
數會建立乙個python命令列,並且在應用上下文中執行。返回的字典告訴flask script在開啟命令行時進行一些預設
的匯入工作。
manager.add_command("server", server())
通過manage.py執行命令列在將來會十分必要,因為一些flask擴充套件只有在flask應用物件被建立之後才會被初始化。直接
執行預設的python命令行會令這些擴充套件返回錯誤。
現在我們已經搭建了開發環境,可以繼續在flask裡面實現更高階的特性了。
---------------------
Flask 建立最簡單的專案
系統 win10 python python3.7 flask flask1.0.2 命令列操作 windows下的cmd 安裝python 建立專案資料夾 該操作是在win10的cmd下操作,如果是在不同的系統,那麼操作命令可能不同。建立資料夾命令 建立虛擬環境 虛擬環境需要放在專案資料夾裡面,所...
pycharm2017建立flask專案並執行
一 詳細環境 二 已經建立好虛擬環境 三 在虛擬環境中安裝flaskd cd d venv python365 scripts d venv python365 scripts activate 進入虛擬環境 venv python365 d venv python365 scripts d ven...
python建立專案
第一次寫爬蟲,就是建立專案,文件就給了一句 scrapy startproject tutorial很好我傻乎乎的在python環境下進行執行果斷爆出如下的錯誤 file line 1 scrapy startproject tutorial syntaxerror invalid syntax 尋...