Skip to main content

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.

# A boolean that turns on/off debug mode.
# Reference:

# A boolean that turns on/off detailed information about requests sent within the project.

# Determines whether to use a secure cookie for session cookie.
# Reference:

# A list of strings specifying the host/domain names that this Django site can serve. In development, all domains are permitted.

# The default database URL for the project.
# Reference:

# URL for the default cache, see below.

# URL for local cache. The "dummycache" simulates caching without actually caching data.
# Reference:

# URL used for referring to static files located in the "STATIC_ROOT."
# Reference:

# The absolute path to the directory where "collectstatic" will gather static files for deployment.
# Reference:

# URL responsible for serving media content from "MEDIA_ROOT."
# Reference:

# The absolute filesystem path to the directory designated for storing user-uploaded files.
# Reference:

# 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.

# 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."