benoitbryon / django-confit Goto Github PK
View Code? Open in Web Editor NEWDjango settings loaders and validators, with local flavor
License: Other
Django settings loaders and validators, with local flavor
License: Other
Each release of Django requires update of django-confit.
So either:
Configuration loaders may be enough in some cases. They should be usable with unsupported Django versions.
Let's remove the Django<1.7
in setup.py.
Improve integration of Sphinx with Tox, using https://testrun.org/tox/latest/example/general.html#integrating-sphinx-documentation-checks
Currently, tox runs make
, which is a system dependency easily available on Linux systems.
Using sphinx-build
may be more elegant, since it is a dependency installed in Python environment.
Currently, if you have some directive in settings that is not registered in a schema, then it is not part of cleaned settings, silently.
The most common issue with that is a schema is missing. As an example, you just enabled some third-party app and related configuration => the configuration is not in cleaned settings and it is hard to figure out why.
=> when some configuration directives are in raw settings but not in cleaned settings, tell the user!
Let's illustrate usage with a demo project inside code repository.
Could be useful too to perform tests on a real life example.
Django-confit's vision is "third-party projects declare their own configuration schema".
But right now, django-confit is just a proof of concept and third-party projects do not declare their own schema in a way compatible with django-confit. That is a fact.
So developers who want to try django-confit currently have to write those schemas.
=> Collect/write and share some popular schemas in django-confit, so that it is quite easy to use. "Some schemas" means 1 is enough, 3 is good, 5 is not a goal.
It seems that two settings are not declared:
Implementation of such a feature may include changes that make it easier to manage different versions.
TEMPLATE_LOADERS should permits the following value:
TEMPLATE_LOADERS = (
'django.template.loaders.cached.Loader', (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
),
)
colander.Sequence() do not permit to allow different kinds of items, but colander.List() is may be too weak to validate something good.
Django 1.8 dropped support of Python 3.2 and 3.3
See also https://code.djangoproject.com/ticket/25868
See https://pypi.python.org/pypi/confiture => document similarities/differences in docs/about/alternatives
Warning, treated as error:
WARNING: 'default' html theme has been renamed to 'classic'. Please change your html_theme setting either to the new 'alabaster' default theme, or to 'classic' to keep using the old default.
At least 2 options to fix it:
With Django 1.9:
File "/usr/local/lib/python2.7/site-packages/django_confit/schemas/django.py", line 32, in DjangoBaseConfigurationSchema
missing=global_settings.ADMIN_FOR,
AttributeError: 'module' object has no attribute 'ADMIN_FOR'
Declare schema for Django 1.7
At the moment, load_file() detects json and yaml based on the extension. Could support Python files too!
Declare schema for Django 1.6.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.