如何在localhost(python)上的app引擎中测试命名空间?

时间:2017-05-28 21:58:26

标签: python google-app-engine namespaces

我开始使用python在Google App Engine中开发多租户应用,我可以使用一些帮助来提取用户的子域,以便在开发过程中测试命名空间。

通过创建appengine_config.py并按如下方式定义其内容,我从文档和书籍中了解了如何将命名空间设置为固定字符串(例如' abc'):

from google.appengine.api import namespace_manager

def namespace_manager_default_namespace_for_request():
    return 'abc'    # Used to test

我可以在命名空间' abc'下的数据存储区中存储新项目。因为所有数据存储区操作现在都将在运行会话中使用此命名空间。如果我然后改变这个来说'def'并再次运行应用程序数据与以前分开。到目前为止一切都很好。

但是,我需要在开发期间(= localhost)自动测试设置命名空间,这样我们才能真正地保证我们将客户端内容彼此分开,例如从Chrome和Mozilla同时使用来自不同子域的用户登录localhost:8080,以确保没有数据泄露。

假设我使用user@abc.example.com登录,我需要提取' abc'无需自己解析用户的电子邮件。

我将appengine_config.py更改为以下内容:

from google.appengine.api import namespace_manager

def namespace_manager_default_namespace_for_request(): 
    return namespace_manager.google_apps_namespace() 

但是,它总是在localhost中返回None作为命名空间。

我有什么想法,或者我可以使用哪些功能来提取appengine_config.py中的用户子域名?

提前致谢: - )

0 个答案:

没有答案