2012-04-18 72 views
2

我在本地計算機上用Web2py創建了一個應用程序,它通過WSGI和SQLite運行。我可以成功地將我的應用程序部署到Google App Engine,使用我自己的域名並執行我需要的所有url重寫。如何在Google App Engine(GAE)上運行的Web2py上創建新的auth_user和auth_group?

現在我需要一種方法來創建將負責更新某些表的特定管理用戶。

具體的問題:

  1. 有沒有一種方式,當我appliation是在GAE上運行,我可以使用web2py的管理界面?
  2. 即使我不想創建新聞應用程序或編輯文件,是否可以使用Web2py管理界面來管理在Google App引擎上運行的應用程序的數據庫?
  3. 如果不是,在GAE上使用W​​eb2py時如何完成這種用戶管理?

回答

6

我以前從未使用GAE,但我通常做這樣的事情在我db.py創建初始管理員用戶:

def check_initialize(): 
    if not db().select(db.auth_user.ALL).first():   
     db.auth_user.insert(
      username = 'administrator', 
      password = db.auth_user.password.validate('admin1234')[0], 
      email = '[email protected]', 
      first_name = 'System', 
      last_name = 'Administrator', 
      is_admin = True, 
     ) 

# do initialization check 
cache.ram('db_initialized', lambda: check_initialize(), time_expire=None) 

注意,「is_admin」是我添加一個字段到auth_user表中,但我可以輕鬆地添加一個名爲「administrators」的新auth_group記錄,然後使用「auth.add_membership(1,1)」將新用戶添加到「administrators」組中。

行政職能的,如果你不能得到web2py的管理工作(如果設置了web2py會跑過來HTTPS這應該是可能的),那麼你可以隨時使用這樣的事情創建您自己的編輯器:

def users(): 
    form = SQLFORM.grid(db.auth_user) 
    return dict(form=form) 

這將創建一個列出所有用戶的網格控件,並允許您添加和刪除用戶。你可以爲db.auth_group和db.auth_membership做同樣的事情。你可能需要稍微調整一下。另外,你總是可以使用這樣的東西:Instant AdminBadmin

+0

你好羅斯!謝謝你的確切答案。我可以讓管理界面通過https工作。現在我將嘗試Instant Admin和Badmin。 – 2012-04-18 14:03:39

相關問題