DEV Community

Hitesh Chauhan
Hitesh Chauhan

Posted on

Create a django python project in docker in pycharm

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

  1. Install Docker:

  2. Start Docker:

    • Open Docker Desktop and ensure it's running.

Step 2: Set Up Your Project Directory

  1. Create a project directory:
    • Choose a directory where you'll set up your Django project.

Step 3: Create a Dockerfile

  1. 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/
Enter fullscreen mode Exit fullscreen mode

Step 4: Create a docker-compose.yml File

  1. 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:
Enter fullscreen mode Exit fullscreen mode

Step 5: Create a requirements.txt File

  1. Create a requirements.txt in your project directory:
   Django>=3.0,<4.0
   psycopg2-binary>=2.8
Enter fullscreen mode Exit fullscreen mode

Step 6: Create a Django Project

  1. Open a terminal and navigate to your project directory.
  2. Run the following command to create a new Django project (adjust the projectname):
   docker-compose run web django-admin startproject projectname .
Enter fullscreen mode Exit fullscreen mode

Step 7: Configure Django to Use the Postgres Database

  1. Open settings.py within your Django project.
  2. Update the DATABASES settings to use PostgreSQL:
   DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.postgresql',
           'NAME': 'postgres',
           'USER': 'postgres',
           'PASSWORD': 'postgres',
           'HOST': 'db',
           'PORT': 5432,
       }
   }
Enter fullscreen mode Exit fullscreen mode

Step 8: Run Docker Compose

  1. Build and run your containers:
   docker-compose up --build
Enter fullscreen mode Exit fullscreen mode

Step 9: Set Up PyCharm

  1. Open PyCharm and open your project directory.
  2. Configure Docker in PyCharm:
    • Go to Preferences (or Settings 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).
  3. 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).

Step 10: Run and Debug

  1. Run your project:
    • In PyCharm, use the run configuration to start your Django server.
  2. 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)