Creating a Django Python project in Docker using PyCharm involves several steps. Below, I'll guide you through the entire process, including setting up Docker, creating a Django project, and configuring PyCharm.
Step 1: Install Docker
-
Install Docker:
- Download and install Docker Desktop from Docker's official website.
-
Start Docker:
- Open Docker Desktop and ensure it's running.
Step 2: Set Up Your Project Directory
-
Create a project directory:
- Choose a directory where you'll set up your Django project.
Step 3: Create a Dockerfile
-
Create a
Dockerfile
in your project directory:
# Use the official Python image from the Docker Hub
FROM python:3.9-slim
# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Set work directory
WORKDIR /code
# Install dependencies
COPY requirements.txt /code/
RUN pip install --no-cache-dir -r requirements.txt
# Copy project
COPY . /code/
Step 4: Create a docker-compose.yml
File
-
Create a
docker-compose.yml
in your project directory:
version: '3.8'
services:
db:
image: postgres:13
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
volumes:
postgres_data:
Step 5: Create a requirements.txt
File
-
Create a
requirements.txt
in your project directory:
Django>=3.0,<4.0
psycopg2-binary>=2.8
Step 6: Create a Django Project
- Open a terminal and navigate to your project directory.
-
Run the following command to create a new Django project (adjust the
projectname
):
docker-compose run web django-admin startproject projectname .
Step 7: Configure Django to Use the Postgres Database
-
Open
settings.py
within your Django project. -
Update the
DATABASES
settings to use PostgreSQL:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
Step 8: Run Docker Compose
- Build and run your containers:
docker-compose up --build
Step 9: Set Up PyCharm
- Open PyCharm and open your project directory.
-
Configure Docker in PyCharm:
- Go to
Preferences
(orSettings
on Windows/Linux) >Build, Execution, Deployment
>Docker
. - Click
+
to add a new Docker configuration. - Set the connection to Docker Desktop (usually Docker for Mac or Docker for Windows).
- Go to
-
Add a Python interpreter using Docker:
- Go to
Preferences
>Project: <your_project>
>Python Interpreter
. - Click the gear icon and select
Add...
. - Choose
Docker
as the environment type. - Select the appropriate Docker image (e.g.,
python:3.9-slim
).
- Go to
Step 10: Run and Debug
-
Run your project:
- In PyCharm, use the run configuration to start your Django server.
-
Debugging:
- Set breakpoints as needed and use the PyCharm debugger to debug your code.
By following these steps, you should have a fully functional Django project running in Docker, managed through PyCharm. This setup ensures a consistent development environment and eases the deployment process.
Top comments (0)