1. 程式人生 > >Flask AppBuilder安裝

Flask AppBuilder安裝

如果 有用 nload 不兼容 languages 而且 pen pillow ask

安裝

安裝很簡單,使用普通的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安裝