2013-06-03 51 views
1

有沒有辦法通過代碼而不是使用管理界面來創建web2py應用程序?動態創建web2py應用程序

不知道在管理模塊中的app_create()是我在找什麼。

app_create(appname)

回答

3

大部分的管理應用程序的功能可以以編程方式使用gluon.admin模塊進行訪問。 gluon.admin中的app_create函數用於創建新的應用程序。但是,爲了識別web2py應用程序文件夾(它將在何處創建應用程序),需要將web2py Request對象作爲第二個參數 - 因此必須在存在Request對象的環境中調用該函數(即,在web2py應用程序或shell),或者您必須傳遞一個模擬Request對象,將「folder」屬性設置爲web2py應用程序的路徑(任何web2py應用程序路徑都會執行,即使它不存在)。

從一個應用程序或web2py的殼(包括經由web2py的外殼運行腳本):

from gluon.admin import app_create 
app_create('myapp', request) 

從一種環境,不包括Request對象:

import os 
from gluon.admin import app_create 
from gluon.globals import Request 
request = Request() 
request.folder = os.path.join('path', 'to', 'web2py', 'applications', 'welcome') 
app_create('myapp', request)