This package contains the base function and classes for a Django project
The project has the following sections:
- env
- exceptions
- mixins
- paginate
- response
- validators
- xml_element
Note: This package requires python 3.11 and higher
pip install django-carpet
The env checks the execution mode and deployment status of the application and contains the following functions:
exec_mode-> Gets the execution mode of the application. The options arenormal,test, ande2e(accessed throughEnvChoices)is_debug-> Checks theDEBUGconstant insettings.pyis_production-> Checks if the application is in the production mode. For the application to be in production mode, theDEBUGhas to be false andexec_modeshould be normalis_testing-> Checks if the application is in unit test or e2e test
In order for these functions to behave as intended, you need 3 settings to differentiate between the three execution modes. The execution mode is determined using EXEC_MODE constant. If no such constant is provided, the default value is normal. The name of the files is up to you:
settings.py: The settings for the production. TheDEBUGmust be set to false.settings_dev.py: The settings for the development mode. This setting sets the DEBUG to false and detects if we aretestcommand. It should have the following:
DEBUG = True
if 'test' in sys.argv:
EXEC_MODE = "test"settings_e2e.py: The settings for the E2E tests, allowing you to differentiate between the E2E tests and normal dev server. It should contain the following:
DEBUG = True
EXEC_MODE = "e2e"