名称空间可以启用多个域吗?

2024-04-18 10:23:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我的gae应用程序通过if..else..条件而不是名称空间为多个域提供服务。 我看到其他人用名称空间解决了这个问题

"I have a single app with multiple namespaces defined.

I'd like to set up multiple domains

a.com b.com c.com

and have the app detect the domain and write the domain's data into its respective namespace."

我不知道如何使用名称空间,我想要一个更好的方法来添加一个域到应用程序中,以便设置内容和语言。例如,通过表单发送电子邮件,那么我只使用一个条件而不是名称空间。在

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')

我对查询、本地化和某些情况下甚至是渲染到哪个模板使用相同的解决方法,而我应该能够使所有域都能够基于相同的模板,并且只在内容上有所不同,这样我的应用程序就不会硬编码应该易于添加和更改的域和其他设置。在

在这种情况下,名称空间是个好主意吗?到目前为止,a处理不同域问题的方式是它来自哪个域的实体的一个变量

^{pr2}$

我有一个函数可以定义我的意思,但它可能会混淆www.domain.com网站与域名.com或者在子域上有问题

def get_host():
  return os.environ.get("HTTP_HOST", os.environ["SERVER_NAME"])

如果您有,或者我错了,在这种情况下不应该使用名称空间,我很乐意知道任何想法。在

谢谢


Tags: theself名称com应用程序messagegetif
1条回答
网友
1楼 · 发布于 2024-04-18 10:23:39

是的,名称空间非常适合您所做的工作。只需将配置数据(如管理电子邮件)存储在每个域的配置记录中,并将给定域的所有记录存储在以该域命名的命名空间中。在

相关问题 更多 >