我的gae应用程序按if..else..
条件而不是名称空间提供多个域。
我看到其他人用名称空间解决了它
“我有一个定义了多个名称空间的应用程序。
我想设置多个域名
a.com b.com c.com
让应用程序检测域并将域的数据写入 它的各自名称空间。“
我不知道如何使用命名空间,我想要一个更好的方法来为应用程序添加域,如内容和语言。例如,通过表单发送电子邮件然后我只使用条件而不是命名空间。
class FileUploadHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
adminemail = 'admin@domain1.com' if gethost() is 'domain1' else 'admin@domain2.com'
message = mail.EmailMessage(sender=admin_email, subject=self.request.POST.get('subject'))
message.body = ...
message.to='info@domain...
message.send()
self.redirect('/customer_service.htm')
我使用相同的解决方法进行查询,本地化以及在某些情况下甚至可以渲染到哪个模板,同时我应该能够使所有域都能够基于相同的模板,并且仅根据内容而不同,以便我的应用程序不会很难 - 编码应该易于添加和更改的域和其他设置。
在这种情况下名称空间是个好主意吗?到目前为止,管理不同域的问题的方式是来自
的域的实体的变量if util.get_host().find('my-dot-com') > 0:
url = 'www.my-dot-com.com'
我有一个定义我的意思的功能,但它可能会混淆www.domain.com和domain.com或者子域有问题
def get_host():
return os.environ.get("HTTP_HOST", os.environ["SERVER_NAME"])
我很高兴知道你有没有想法,或者我错了,在这种情况下不应该使用命名空间。
由于
答案 0 :(得分:1)
是的,命名空间非常适合您正在做的事情。只需在每个域配置记录中存储管理电子邮件等配置数据,并将给定域的所有记录存储在以该域命名的命名空间中。