Environmental File
The Environmental File (.env) is a structure where environment variables are stored and managed as key-value pairs. This file is used to store configuration values that are utilized when a project operates in different environments (such as Django or Node.js). The .env file is particularly useful for safeguarding sensitive information (e.g., API keys) and ensuring that the same code can be used in various environments.
The .env file is located at the project's root directory, containing an array of settings shared across both Django and Node.js environments.
When the project is initially set up, a ".env.example" file is typically encountered instead. To be used, a new ".env" file can simply be created by copying the ".env.example" using the following command:
cp .env.example .env
Here are the available configurations within the ".env" file:
# All values are default.
DEBUG=True
# A boolean that turns on/off debug mode.
# Reference: https://docs.djangoproject.com/en/2.2/ref/settings/#debug
REQUESTS_DEBUG=False
# A boolean that turns on/off detailed information about requests sent within the project.
SESSION_COOKIE_SECURE=False
# Determines whether to use a secure cookie for session cookie.
# Reference: https://docs.djangoproject.com/en/2.2/ref/settings/#session-cookie-secure
ALLOWED_HOSTS=*
# A list of strings specifying the host/domain names that this Django site can serve. In development, all domains are permitted.
DATABASE_URL=sqlite:///db.sqlite3
# The default database URL for the project.
# Reference: https://docs.djangoproject.com/en/2.2/ref/settings/#databases
CACHE_URL=dummycache://127.0.0.1:6379/1
# URL for the default cache, see below.
LOCAL_CACHE_URL=dummycache://127.0.0.1:6379/2
# URL for local cache. The "dummycache" simulates caching without actually caching data.
# Reference: https://docs.djangoproject.com/en/2.2/topics/cache/#dummy-caching-for-development
STATIC_URL='/static_omnishop/'
# URL used for referring to static files located in the "STATIC_ROOT."
# Reference: https://docs.djangoproject.com/en/2.2/ref/settings/#static-url
STATIC_ROOT='static_omnishop_prod'
# The absolute path to the directory where "collectstatic" will gather static files for deployment.
# Reference: https://docs.djangoproject.com/en/2.2/ref/settings/#static-root
MEDIA_URL='/media/'
# URL responsible for serving media content from "MEDIA_ROOT."
# Reference: https://docs.djangoproject.com/en/2.2/ref/settings/#media-url
MEDIA_ROOT='media'
# The absolute filesystem path to the directory designated for storing user-uploaded files.
# Reference: https://docs.djangoproject.com/en/2.2/ref/settings/#media-root
SERVICE_BACKEND_URL=https://pz-api.akinon.net/
# The URL used as a backend service, providing various functionalities for the project, including users, orders, widgets, and more. For instance, in a hypothetical project named "pz," this URL could serve as the backend service as above. Additionally, if desired, it's possible to establish connections with alternative projects, granting access to display their users, widgets, etc.
WEBPACK_DEV_PORT=5000
# The port used by Webpack with WebpackDevServer for auto-reloading the page upon changes. Modify this only if you encounter conflicts when running multiple projects concurrently. Note that this setting applies when using "yarn dev," not "yarn dev:pure."