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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.akinon.com/technical-guides/project-zero/django/project-structure/environmental-file.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
