Flask AppBuilder安裝
安裝
安裝很簡單,使用普通的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 venv New python executable in venv/bin/python Installing distribute............done. $ . venv/bin/activate (venv)$現在在虛擬環境中安裝FAB,它會安裝所有依賴項,這些將與系統的python包隔離
(venv)$ pip install flask-appbuilder一旦您安裝了virtualenv,請使用fabmanager命令行工具來創建您的第一個應用程序。所以創建一個骨架應用程序和第一個管理員用戶:
(venv)$ fabmanager create-app Your new app name: first_app Your engine type, SQLAlchemy or MongoEngine [SQLAlchemy]: Downloaded the skeleton app, good coding! (venv)$ cd first_app (venv)$ fabmanager create-admin Username [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 pillow
or:
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安裝