標籤:apt 方式安裝 mongodb 準備 資料庫 pat 相容 之一 解決
安裝
安裝很簡單,使用普通的python軟體包安裝。我建議您另外安裝基礎骨架應用程式,以便您可以立即運行應用程式(沒有任何型號)和易於增長的樣板。
簡單安裝
您可以通過以下方式安裝架構:
$ pip install flask-appbuilder
建議虛擬環境安裝
虛擬環境是非常可取的,因為您擁有的項目越多,您將越有可能使用不同版本的Python本身,或至少不同版本的Python庫。讓我們面對這一點:圖書館通常往往相容相容,而且任何嚴重的應用程式都不可能有零依賴關係。那麼如果兩個或更多的項目有衝突的依賴,那麼你該怎麼辦?
如果您在Mac OS X或Linux上,以下兩個命令之一有可能適用於您:
$ sudo easy_install virtualenv
甚至更好:
$ sudo pip install virtualenv
其中一個可能會在您的系統上安裝virtualenv。也許這是你的包裹經理。如果您使用debian系統(如Ubuntu),請嘗試:
$ sudo apt-get install python-virtualenv
接下來建立一個virtualenv:
$ virtualenv venvNew python executable in venv/bin/pythonInstalling distribute............done.$ . venv/bin/activate(venv)$
現在在虛擬環境中安裝FAB,它會安裝所有依賴項,這些將與系統的python包隔離
(venv)$ pip install flask-appbuilder
一旦您安裝了virtualenv,請使用fabmanager命令列工具來建立您的第一個應用程式。所以建立一個骨架應用程式和第一個管理使用者:
(venv)$ fabmanager create-appYour new app name: first_appYour engine type, SQLAlchemy or MongoEngine [SQLAlchemy]:Downloaded the skeleton app, good coding!(venv)$ cd first_app(venv)$ fabmanager create-adminUsername [admin]:User first name [admin]:User last name [user]:Email [[email protected]]:Password:Repeat for confirmation:
架構將立即在資料庫中插入所有可能的許可權,這些許可權將與您剛剛建立的管理員使用者的Admin角色相關聯。你準備運行:
(venv)$ fabmanager run
這將啟動一個Web程式開發伺服器
你現在在http:// localhost:8080上有一個正在啟動並執行程式開發伺服器。
實際上,您不需要運行AppBuilder的架構應用程式,但這是一個很好的開始。這個第一個應用程式是基於SQLAlchemy的。
注意
有兩種類型的骨架可用,您可以從SQLAlchemy預設值或Mongongine for MongoDB中選擇。要使用MongoEngine骨架,您需要安裝flask-mongoengine擴充。
初始化
自1.3.0版本以來,沒有管理使用者被自動建立,您必須使用fabmanager來執行此操作。有很多其他有用的選項,可以與fabmanager一起使用,如重設使用者的密碼,列出所有使用者和視圖等。
安裝要求
Flask App Builder依賴於
- flask :Web架構,這是我們正在擴充的。
- flask-sqlalchemy :DB訪問(參見SQLAlchemy)。
- flask-login:登入,flask上的會話。
- flask-openid:開啟ID身分識別驗證。
- flask-wtform:Web表單。
- flask-Babel:用於國際化。
如果您打算使用影像處理或上傳,則需要安裝PIL:
pip install pillowor:pip install PIL
Python 2和3相容性
該架構本身是相容的,並且已經針對Python 2.6,2.7和3.3進行了測試。但是,在Python 3.3中仍然存在一個問題,架構國際化功能使用了優秀的包Babel,但是我發現python 3.3不相容。雖然這個問題沒有解決,但是對於FAB上的Py3.3有一個限制,你不能使用Babel的功能,所以在配置上你只能設定英文:
BABEL_DEFAULT_LOCALE = ‘en‘BABEL_DEFAULT_FOLDER = ‘translations‘LANGUAGES = { ‘en‘:{‘flag‘:‘gb‘,‘name‘:‘English‘}}
Flask AppBuilder安裝