python烧录引擎中的动态子域

时间:2011-04-03 06:27:13

标签: python dns subdomain flask

a.example.com b.example.com 我想用相同的应用程序文件夹,不同的配置文件放入烧瓶中。 我找到了以下解决方案,但如何使用它们?


创建一个上下文处理器,将'request.host'注入您的 模板和分支。

要获得更多控制权,您可以创建一个Site对象,并从中进行实例化 当前请求,并向其添加属性,例如:

class Site(object):
  def __init__(self, request):
    self.host = request.host

  @cached_property
  def google_analytics_id(self, default=''):
    if self.host == 'python.example.com':
      return <something>
    elif self.host == 'apple.example.com':
      return <something else>
    return default

然后在您的上下文处理器中使用site = Site(request)并参考 现场。在你的模板中。其他物业的候选人 可能是HTML元描述和关键字,网站的标题等。 这种分支只能从应用程序的某些部分进行 当然,它可以访问请求对象。

1 个答案:

答案 0 :(得分:1)

看一下flask文档,通过Application Factories和Application Dispatching实现域处理功能非常容易,这在“Flask模式”一节中有详细解释:

http://flask.pocoo.org/docs/patterns/appdispatch/

http://flask.pocoo.org/docs/patterns/appfactories/