Django设置多个配置

时间:2016-04-05 14:45:46

标签: python django

我正在尝试设置多个配置。我的想法是拥有一个中央后端,并在site_settings.py中更改一行以在te配置之间切换,而不是在site_settings中粘贴不同的配置。

#config1.py

from __future__ import absolute_import
from __future__ import unicode_literals

from .defaults import *  # noqa


SOMECONFIG = NEWS_CONFIG = 'something'

MAPPED_ITEMS = {
    'Something': {
        'from': {
            'provider': 'someprovider',
            'app': 'test',
            'model': 'Test'
        },
        'to': {
            'provider': 'someprovider',
            'app': 'test',
            'model': 'Test'
        }
    },
    'Something2': {
        'from': {
            'provider': 'someprovider',
            'app': 'test',
            'model': 'Test'
        },
        'to': {
            'provider': 'someprovider',
            'app': 'test',
            'model': 'Test'
        }
    }
}

基本上其他配置文件是相同的,只是使用不同的SOMECONFIG = NEWS_CONFIG = 'something2'和当前MAPPED_ITEMS是不同的

问题是,在我使用的应用程序中,它从设置而不是从这些配置文件中获取配置。我想在site_settings.py中有一行来确定它应该使用哪个配置文件

1 个答案:

答案 0 :(得分:0)

您的site_settings文件可以命名为config.py,这是常用的设置文件。然后将base.py继承到from base import * SOMECONFIG = NEWS_CONFIG = 'something' (dev.py或production.py)文件

config1.py(dev.py)

from base import *
SOMECONFIG = NEWS_CONFIG = 'Anything'

<强> config2.py(production.py)

class CourseModel: Object {
    dynamic var coursename = ""
    dynamic var par3field = 0
    dynamic var par4field = 0
    dynamic var par5field = 0

    let scoreModels: List<ScoresModel> = List<ScoresModel>()
    override internal static func primaryKey() -> String? { return "coursename" }
}

class ScoresModel: Object {
    dynamic var dateplayed = ""

    var courseModel: CourseModel? {
        return linkingObjects(CourseModel.self, forProperty: "scoreModels").first
    }
}

将此配置文件用作实际设置文件