I'm getting this error whenever I try to initialize a Django website. Any help I would really appreciate it as I've been trying to solve this issue for a long time. Thank you everyone for any help!
Full traceback of the error:
Traceback (most recent call last):
File "C:\Users\user\Desktop\django-saas-boilerplate-master\manage.py", line 19, in <module>
execute_from_command_line(sys.argv)
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\__init__.py", line 345, in execute
settings.INSTALLED_APPS
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\django\conf\__init__.py", line 83, in __getattr__
self._setup(name)
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\django\conf\__init__.py", line 70, in _setup
self._wrapped = Settings(settings_module)
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\django\conf\__init__.py", line 177, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "C:\Users\user\Desktop\django-saas-boilerplate-master\conf\settings.py", line 311, in <module>
DATABASES = {"default": env.db("DATABASE_URL")}
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\environ\environ.py", line 204, in db_url
return self.db_url_config(self.get_value(var, default=default), engine=engine)
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\environ\environ.py", line 402, in db_url_config
'PORT': _cast_int(url.port) or '',
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py", line 175, in port
raise ValueError(message) from None
ValueError: Port could not be cast to integer value as '${DOCKER_POSTGRES_PORT}'
This is how URL for postgres is configured:
DOCKER_POSTGRES_PORT=5432
DATABASE_URL=postgresql://${PROJECT_NAME}:${DB_PASSWORD}@localhost:${DOCKER_POSTGRES_PORT}/postgres
This is the docker compose file:
Version: "3.2"
volumes:
postgres_data: {}
redis_data: {}
services:
postgres:
build: ./devops/docker/postgres
restart: on-failure
container_name: ${PROJECT_NAME}_postgres
image: ${PROJECT_NAME}_postgres
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${PROJECT_NAME}
POSTGRES_DB: ${PROJECT_NAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
command: -c fsync=off -c synchronous_commit=off -c full_page_writes=off
networks:
- default
ports:
- "5432:5432"
redis:
restart: on-failure
container_name: ${PROJECT_NAME}_redis
image: ${PROJECT_NAME}_redis
build:
context: ./devops/docker/redis/
volumes:
- redis_data:/data
networks:
- default
ports:
- "6379:6379"
backend:
image: ${PROJECT_NAME}_backend
container_name: ${PROJECT_NAME}_backend
build:
dockerfile: Dockerfile
context: ./
restart: on-failure
ports:
- "8000:8000"
working_dir: /app
environment:
- DEBUG=True
- DATABASE_URL=postgresql://${PROJECT_NAME}:${DB_PASSWORD}@postgres:5432/${PROJECT_NAME}
- ALLOWED_HOSTS=*
- SECRET_KEY=notsafeforproduction
- CORS_ORIGIN_ALLOW_ALL=True
- RQ_HOST=redis
- RQ_PORT=${DOCKER_REDIS_PORT}
- DJANGO_SETTINGS_MODULE=conf.settings
- PORT=${PORT}
- HOSTNAME=${HOSTNAME}
volumes:
- .:/app
networks:
- default
stdin_open: true
tty: true
depends_on:
- postgres
- redis
- rqworkers
rqworkers:
image: ${PROJECT_NAME}_rqworkers
container_name: ${PROJECT_NAME}_rqworkers
build:
dockerfile: Dockerfile
context: .
restart: always
working_dir: /app
environment:
- DEBUG=True
- DATABASE_URL=postgresql://${PROJECT_NAME}:${DB_PASSWORD}@postgres:5432/${PROJECT_NAME}
- ALLOWED_HOSTS=*
- SECRET_KEY=notsafeforproduction
- CORS_ORIGIN_ALLOW_ALL=True
- RQ_HOST=redis
- RQ_PORT=${DOCKER_REDIS_PORT}
- DJANGO_SETTINGS_MODULE=conf.settings
- PORT=${PORT}
- HOSTNAME=${HOSTNAME}
volumes:
- .:/app
networks:
- default
command: /bin/bash -c "python manage.py rqworker default"
stdin_open: true
tty: true
depends_on:
- postgres
- redis
networks:
default:
ipam:
driver: default