Django使用基于子域的不同settings.py文件

时间:2009-12-08 12:49:13

标签: python django subdomain

Django如何使用基于子域的不同settings.py文件。

如果有不同的设置连接到不同的数据库,是否仍然可以使用这些实用程序(“django-admin”,“python manage.py”)。

1 个答案:

答案 0 :(得分:5)

好的,你需要用你的设置来覆盖两个维度:

  1. 域名(网站)
  2. 当前机器
  3. 以下是我的建议:

    universal_settings.py - 您想要在任何地方继承的所有设置(所有计算机,所有域)

    local_settings.py - 基于每台计算机的设置(数据库设置,邮件服务器等)

    site_1.py - 特定于您的某个域的设置
    site_2.py - 特定于您的某个域的设置
    site_n.py - 你明白了

    universal_settings.py的底部应包括:

    from local_settings import *
    

    这将根据需要覆盖通用设置中的任何内容。

    同样,每个site_1.pysite_2.pysite_n.py设置文件都应以:

    开头
    from universal_settings import *
    

    最后,您需要为每个域设置一个apache(或nginx或其他)实例,并使用相应的site_n.py作为该服务器的设置文件

    这种方法最适合我:)