2013-06-03 50 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)