Comments (4)
Hi, I have some suggestions to help solving this issue!
Here is a list of similar issues:
Please let me know if this was useful:
Cheers,
Cinnabot.
PS: Liked my suggestions? Install me in your repository! Visit: getcinnamon.io.
from dynaconf.
It was like that before, users needed to call settings.configure
before accessing variables.
But some users wanted to have the default namespace for the reasons I commented in #23 (default namespace is needed to define global values)
You change the default namespace name of global namespace using DYNACONF_NAMESPACE
env var.
Maybe we can introduce a new object which does not load, for example.
from dynaconf import lazy_settings as settings
settings.namespace('devel')
That new object will be the same, the only difference is that it is not configured automatically and requires settings.namespace
to be called once.
from dynaconf.
That would be awesome! Let me know if I can help :)
from dynaconf.
I am closing this one year old issue because many things changed since it was created.
Dynaconf exists to avoid the need for such if sys.argv[1] == "prod":
kind of code, dynaconf has the goal to make it dynamic by choosing the env
based on environment_variables or specific settings passed to LazySettings
class.
For your use case the solution is
project/conf.py
from dynaconf import LazySettings
settings = LazySettings(NAMESPACE_FOR_DYNACONF=sys.argv[1])
project/app.py dev
from .conf import settings
settings.current_namespace == 'DEV'
However this case is not recommended, the better by 12 factor apps guide is doing
Your env shell
export NAMESPACE_FOR_DYNACONF=dev
or direct in program call
NAMESPACE_FOR_DYNACONF=dev program/app.py
from dynaconf import settings
settings.current_namespace == 'DEV'
The use of environment variables is better and widely used
from dynaconf.
Related Issues (20)
- [bug] Dynaconf.load_file() no error on missing file(s)
- Documentation used to be clear on purpose of global, and the default environment HOT 2
- Multiple cast validators get discarded
- Broken link to source code in docs HOT 1
- Standard docstrings style for the codebase HOT 3
- Validator default string parsed to number HOT 3
- [bug] Validation on Dynaconf instantiation not working HOT 1
- Validation doc section "On instantiation" improvement HOT 2
- [CI] New release process HOT 2
- [RFC] Add `as_dict` alias to `to_dict` for `DynaBox` for consistency between `LazySettings` and `DynaBox` objs HOT 1
- [CI] Update codecov configuration file
- [RFC] Add FORCE_SETTINGS_FILES to LazySettings.configure() for pytest
- [RFC] Use profile link of a contributor in the CHANGELOG
- [RFC] Provide workaround for auto-complete w/ Schema HOT 1
- [bug] Loading config values failing in Python 3.11 while it works in Python 3.10 HOT 1
- [bug] @reverse_lazy doesn't get evaluated without settings.using_env HOT 4
- [bug] fresh_vars items are assignable HOT 2
- k8s file-mounted secrets HOT 1
- [RFC] Add option to perform a self token renew when using vault
- [docs] Document the new method hooks
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dynaconf.