我在django项目上有几个应用程序:
DJANGO_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 'django.contrib.gis.db',
]
LOCAL_APPS = [
#'cycliste' ,
#'logger' ,
'position' ,
'reseau' ,
'station' ,
#'trajet' ,
#'useful_functions' ,
'velo' ,
#'ville' ,
]
INSTALLED_APPS = DJANGO_APPS + LOCAL_APPS
我的url文件是:
urlpatterns = [
url(r'^', include('reseau.urls')),
url(r'^', include('station.urls')),
url(r'^', include('velo.urls')),
url(r'^', include('position.urls')),
]
现在,每个应用程序都是一个rest服务器。我想在集群的每个服务器上启动一个不同的应用程序。 我有两种方法:
问题是我有6到7个应用程序。对于它们中的每一个,我只希望能够启动一个“站”服务器,或“记录器”服务器。所以我需要在运行时动态更改本地应用程序中包含的应用程序
我试图通过一个--settings命令来完成,但没有成功。我试着通过一个特定的管理命令来做,但是没有成功。。。最后我觉得应该更简单一些。 也许对设置文件做个测试
如何动态更改已安装的应用程序值
如何动态更改urlpatterns值
首先,我建议对每个“站”使用django-environ作为动态var。如果已将
env
应用于设置,请忽略此步骤:动态更改已安装的应用程序值:
1)启动应用程序时按开关更改设置:
python manage.py runserver settings=path.to.settings.production.station1
2)通过从env文件加载本地应用程序进行更改:
动态更改urlpatterns值:
更改设置中的
ROOT_URLCONF
,改为从env获取:动态更改已安装的应用程序值:
相关问题 更多 >
编程相关推荐